Class AbstractWriterInterceptorContext
- java.lang.Object
-
- org.jboss.resteasy.core.interception.jaxrs.AbstractWriterInterceptorContext
-
- All Implemented Interfaces:
jakarta.ws.rs.ext.InterceptorContext,jakarta.ws.rs.ext.WriterInterceptorContext,AsyncWriterInterceptorContext
- Direct Known Subclasses:
ClientWriterInterceptorContext,ServerWriterInterceptorContext
public abstract class AbstractWriterInterceptorContext extends Object implements jakarta.ws.rs.ext.WriterInterceptorContext, AsyncWriterInterceptorContext
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Field Summary
Fields Modifier and Type Field Description protected Annotation[]annotationsprotected Objectentityprotected TypegenericTypeprotected jakarta.ws.rs.core.MultivaluedMap<String,Object>headersprotected intindexprotected jakarta.ws.rs.ext.WriterInterceptor[]interceptorsprotected jakarta.ws.rs.core.MediaTypemediaTypeprotected OutputStreamoutputStreamprotected ResteasyProviderFactoryproviderFactoryprotected booleanrequireAsyncIOprotected RESTEasyTracingLoggertracingLoggerprotected Classtype
-
Constructor Summary
Constructors Constructor Description AbstractWriterInterceptorContext(jakarta.ws.rs.ext.WriterInterceptor[] interceptors, Annotation[] annotations, Object entity, Type genericType, jakarta.ws.rs.core.MediaType mediaType, Class type, OutputStream outputStream, ResteasyProviderFactory providerFactory, jakarta.ws.rs.core.MultivaluedMap<String,Object> headers)Deprecated.AbstractWriterInterceptorContext(jakarta.ws.rs.ext.WriterInterceptor[] interceptors, Annotation[] annotations, Object entity, Type genericType, jakarta.ws.rs.core.MediaType mediaType, Class type, OutputStream outputStream, ResteasyProviderFactory providerFactory, jakarta.ws.rs.core.MultivaluedMap<String,Object> headers, RESTEasyTracingLogger logger)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description CompletionStage<Void>asyncProceed()Proceed to the next interceptor in the chain.Annotation[]getAnnotations()AsyncOutputStreamgetAsyncOutputStream()Get the async output stream for the object to be written.ObjectgetEntity()Get object to be written as HTTP entity.TypegetGenericType()jakarta.ws.rs.core.MultivaluedMap<String,Object>getHeaders()Get mutable map of HTTP headers.jakarta.ws.rs.core.MediaTypegetMediaType()OutputStreamgetOutputStream()intgetProcessedInterceptorCount()CompletionStage<Void>getStarted()ClassgetType()protected jakarta.ws.rs.ext.MessageBodyWritergetWriter()protected booleanpreferAsyncIo()voidproceed()protected abstract jakarta.ws.rs.ext.MessageBodyWriterresolveWriter()voidsetAnnotations(Annotation[] annotations)voidsetAsyncOutputStream(AsyncOutputStream asyncOutputStream)Set a new async output stream for the object to be written.voidsetEntity(Object entity)Update object to be written as HTTP entity.voidsetGenericType(Type genericType)voidsetMediaType(jakarta.ws.rs.core.MediaType mediaType)voidsetOutputStream(OutputStream outputStream)voidsetType(Class type)CompletionStage<Void>syncProceed()protected voidtraceAfter(jakarta.ws.rs.ext.WriterInterceptor interceptor)protected voidtraceBefore(jakarta.ws.rs.ext.WriterInterceptor interceptor)protected CompletionStage<Void>writeTo(jakarta.ws.rs.ext.MessageBodyWriter writer)protected CompletionStage<Void>writeTo(AsyncMessageBodyWriter writer)
-
-
-
Field Detail
-
tracingLogger
protected RESTEasyTracingLogger tracingLogger
-
interceptors
protected jakarta.ws.rs.ext.WriterInterceptor[] interceptors
-
requireAsyncIO
protected boolean requireAsyncIO
-
entity
protected Object entity
-
type
protected Class type
-
genericType
protected Type genericType
-
annotations
protected Annotation[] annotations
-
mediaType
protected jakarta.ws.rs.core.MediaType mediaType
-
outputStream
protected OutputStream outputStream
-
index
protected int index
-
providerFactory
protected ResteasyProviderFactory providerFactory
-
-
Constructor Detail
-
AbstractWriterInterceptorContext
@Deprecated public AbstractWriterInterceptorContext(jakarta.ws.rs.ext.WriterInterceptor[] interceptors, Annotation[] annotations, Object entity, Type genericType, jakarta.ws.rs.core.MediaType mediaType, Class type, OutputStream outputStream, ResteasyProviderFactory providerFactory, jakarta.ws.rs.core.MultivaluedMap<String,Object> headers)
Deprecated.
-
AbstractWriterInterceptorContext
public AbstractWriterInterceptorContext(jakarta.ws.rs.ext.WriterInterceptor[] interceptors, Annotation[] annotations, Object entity, Type genericType, jakarta.ws.rs.core.MediaType mediaType, Class type, OutputStream outputStream, ResteasyProviderFactory providerFactory, jakarta.ws.rs.core.MultivaluedMap<String,Object> headers, RESTEasyTracingLogger logger)
-
-
Method Detail
-
getProcessedInterceptorCount
public int getProcessedInterceptorCount()
-
getEntity
public Object getEntity()
Description copied from interface:AsyncWriterInterceptorContextGet object to be written as HTTP entity.- Specified by:
getEntityin interfaceAsyncWriterInterceptorContext- Specified by:
getEntityin interfacejakarta.ws.rs.ext.WriterInterceptorContext- Returns:
- object to be written as HTTP entity.
-
setEntity
public void setEntity(Object entity)
Description copied from interface:AsyncWriterInterceptorContextUpdate object to be written as HTTP entity.- Specified by:
setEntityin interfaceAsyncWriterInterceptorContext- Specified by:
setEntityin interfacejakarta.ws.rs.ext.WriterInterceptorContext- Parameters:
entity- new object to be written.
-
getType
public Class getType()
- Specified by:
getTypein interfacejakarta.ws.rs.ext.InterceptorContext
-
setType
public void setType(Class type)
- Specified by:
setTypein interfacejakarta.ws.rs.ext.InterceptorContext
-
getGenericType
public Type getGenericType()
- Specified by:
getGenericTypein interfacejakarta.ws.rs.ext.InterceptorContext
-
setGenericType
public void setGenericType(Type genericType)
- Specified by:
setGenericTypein interfacejakarta.ws.rs.ext.InterceptorContext
-
getAnnotations
public Annotation[] getAnnotations()
- Specified by:
getAnnotationsin interfacejakarta.ws.rs.ext.InterceptorContext
-
setAnnotations
public void setAnnotations(Annotation[] annotations)
- Specified by:
setAnnotationsin interfacejakarta.ws.rs.ext.InterceptorContext
-
getMediaType
public jakarta.ws.rs.core.MediaType getMediaType()
- Specified by:
getMediaTypein interfacejakarta.ws.rs.ext.InterceptorContext
-
setMediaType
public void setMediaType(jakarta.ws.rs.core.MediaType mediaType)
- Specified by:
setMediaTypein interfacejakarta.ws.rs.ext.InterceptorContext
-
getHeaders
public jakarta.ws.rs.core.MultivaluedMap<String,Object> getHeaders()
Description copied from interface:AsyncWriterInterceptorContextGet mutable map of HTTP headers.- Specified by:
getHeadersin interfaceAsyncWriterInterceptorContext- Specified by:
getHeadersin interfacejakarta.ws.rs.ext.WriterInterceptorContext- Returns:
- map of HTTP headers.
-
getOutputStream
public OutputStream getOutputStream()
- Specified by:
getOutputStreamin interfacejakarta.ws.rs.ext.WriterInterceptorContext
-
setOutputStream
public void setOutputStream(OutputStream outputStream)
- Specified by:
setOutputStreamin interfacejakarta.ws.rs.ext.WriterInterceptorContext
-
setAsyncOutputStream
public void setAsyncOutputStream(AsyncOutputStream asyncOutputStream)
Description copied from interface:AsyncWriterInterceptorContextSet a new async output stream for the object to be written. For example, by wrapping it with another async output stream. The runtime is responsible for closing the async output stream that is set.- Specified by:
setAsyncOutputStreamin interfaceAsyncWriterInterceptorContext- Parameters:
asyncOutputStream- new async output stream for the object to be written.
-
getAsyncOutputStream
public AsyncOutputStream getAsyncOutputStream()
Description copied from interface:AsyncWriterInterceptorContextGet the async output stream for the object to be written. The runtime is responsible for closing the output stream.- Specified by:
getAsyncOutputStreamin interfaceAsyncWriterInterceptorContext- Returns:
- async output stream for the object to be written.
-
getStarted
public CompletionStage<Void> getStarted()
-
preferAsyncIo
protected boolean preferAsyncIo()
-
asyncProceed
public CompletionStage<Void> asyncProceed()
Description copied from interface:AsyncWriterInterceptorContextProceed to the next interceptor in the chain. Interceptors MUST explicitly call this method to continue the execution chain; the call to this method in the last interceptor of the chain will invoke the wrappedAsyncMessageBodyWriter.asyncWriteTo(T, java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], jakarta.ws.rs.core.MediaType, jakarta.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.Object>, org.jboss.resteasy.spi.AsyncOutputStream)method.- Specified by:
asyncProceedin interfaceAsyncWriterInterceptorContext- Returns:
- a
CompletionStageindicating completion.
-
proceed
public void proceed() throws IOException, jakarta.ws.rs.WebApplicationException- Specified by:
proceedin interfacejakarta.ws.rs.ext.WriterInterceptorContext- Throws:
IOExceptionjakarta.ws.rs.WebApplicationException
-
syncProceed
public CompletionStage<Void> syncProceed() throws IOException, jakarta.ws.rs.WebApplicationException
- Throws:
IOExceptionjakarta.ws.rs.WebApplicationException
-
traceBefore
protected final void traceBefore(jakarta.ws.rs.ext.WriterInterceptor interceptor)
-
traceAfter
protected final void traceAfter(jakarta.ws.rs.ext.WriterInterceptor interceptor)
-
writeTo
protected CompletionStage<Void> writeTo(jakarta.ws.rs.ext.MessageBodyWriter writer) throws IOException
- Throws:
IOException
-
writeTo
protected CompletionStage<Void> writeTo(AsyncMessageBodyWriter writer)
-
getWriter
protected jakarta.ws.rs.ext.MessageBodyWriter getWriter()
-
resolveWriter
protected abstract jakarta.ws.rs.ext.MessageBodyWriter resolveWriter()
-
-