Class AbstractWriterInterceptorContext
- java.lang.Object
-
- org.jboss.resteasy.core.interception.jaxrs.AbstractWriterInterceptorContext
-
- All Implemented Interfaces:
javax.ws.rs.ext.InterceptorContext,javax.ws.rs.ext.WriterInterceptorContext,AsyncWriterInterceptorContext
- Direct Known Subclasses:
ClientWriterInterceptorContext,ServerWriterInterceptorContext
public abstract class AbstractWriterInterceptorContext extends Object implements javax.ws.rs.ext.WriterInterceptorContext, AsyncWriterInterceptorContext
- Version:
- $Revision: 1 $
- Author:
- Bill Burke
-
-
Field Summary
Fields Modifier and Type Field Description protected Annotation[]annotationsprotected Objectentityprotected TypegenericTypeprotected javax.ws.rs.core.MultivaluedMap<String,Object>headersprotected intindexprotected javax.ws.rs.ext.WriterInterceptor[]interceptorsprotected javax.ws.rs.core.MediaTypemediaTypeprotected OutputStreamoutputStreamprotected ResteasyProviderFactoryproviderFactoryprotected booleanrequireAsyncIOprotected RESTEasyTracingLoggertracingLoggerprotected Classtype
-
Constructor Summary
Constructors Constructor Description AbstractWriterInterceptorContext(javax.ws.rs.ext.WriterInterceptor[] interceptors, Annotation[] annotations, Object entity, Type genericType, javax.ws.rs.core.MediaType mediaType, Class type, OutputStream outputStream, ResteasyProviderFactory providerFactory, javax.ws.rs.core.MultivaluedMap<String,Object> headers)Deprecated.AbstractWriterInterceptorContext(javax.ws.rs.ext.WriterInterceptor[] interceptors, Annotation[] annotations, Object entity, Type genericType, javax.ws.rs.core.MediaType mediaType, Class type, OutputStream outputStream, ResteasyProviderFactory providerFactory, javax.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()javax.ws.rs.core.MultivaluedMap<String,Object>getHeaders()Get mutable map of HTTP headers.javax.ws.rs.core.MediaTypegetMediaType()OutputStreamgetOutputStream()intgetProcessedInterceptorCount()CompletionStage<Void>getStarted()ClassgetType()protected javax.ws.rs.ext.MessageBodyWritergetWriter()protected booleanpreferAsyncIo()voidproceed()protected abstract javax.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(javax.ws.rs.core.MediaType mediaType)voidsetOutputStream(OutputStream outputStream)voidsetType(Class type)CompletionStage<Void>syncProceed()protected voidtraceAfter(javax.ws.rs.ext.WriterInterceptor interceptor)protected voidtraceBefore(javax.ws.rs.ext.WriterInterceptor interceptor)protected CompletionStage<Void>writeTo(javax.ws.rs.ext.MessageBodyWriter writer)protected CompletionStage<Void>writeTo(AsyncMessageBodyWriter writer)
-
-
-
Field Detail
-
tracingLogger
protected RESTEasyTracingLogger tracingLogger
-
interceptors
protected javax.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 javax.ws.rs.core.MediaType mediaType
-
outputStream
protected OutputStream outputStream
-
index
protected int index
-
providerFactory
protected ResteasyProviderFactory providerFactory
-
-
Constructor Detail
-
AbstractWriterInterceptorContext
@Deprecated public AbstractWriterInterceptorContext(javax.ws.rs.ext.WriterInterceptor[] interceptors, Annotation[] annotations, Object entity, Type genericType, javax.ws.rs.core.MediaType mediaType, Class type, OutputStream outputStream, ResteasyProviderFactory providerFactory, javax.ws.rs.core.MultivaluedMap<String,Object> headers)
Deprecated.
-
AbstractWriterInterceptorContext
public AbstractWriterInterceptorContext(javax.ws.rs.ext.WriterInterceptor[] interceptors, Annotation[] annotations, Object entity, Type genericType, javax.ws.rs.core.MediaType mediaType, Class type, OutputStream outputStream, ResteasyProviderFactory providerFactory, javax.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 interfacejavax.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 interfacejavax.ws.rs.ext.WriterInterceptorContext- Parameters:
entity- new object to be written.
-
getType
public Class getType()
- Specified by:
getTypein interfacejavax.ws.rs.ext.InterceptorContext
-
setType
public void setType(Class type)
- Specified by:
setTypein interfacejavax.ws.rs.ext.InterceptorContext
-
getGenericType
public Type getGenericType()
- Specified by:
getGenericTypein interfacejavax.ws.rs.ext.InterceptorContext
-
setGenericType
public void setGenericType(Type genericType)
- Specified by:
setGenericTypein interfacejavax.ws.rs.ext.InterceptorContext
-
getAnnotations
public Annotation[] getAnnotations()
- Specified by:
getAnnotationsin interfacejavax.ws.rs.ext.InterceptorContext
-
setAnnotations
public void setAnnotations(Annotation[] annotations)
- Specified by:
setAnnotationsin interfacejavax.ws.rs.ext.InterceptorContext
-
getMediaType
public javax.ws.rs.core.MediaType getMediaType()
- Specified by:
getMediaTypein interfacejavax.ws.rs.ext.InterceptorContext
-
setMediaType
public void setMediaType(javax.ws.rs.core.MediaType mediaType)
- Specified by:
setMediaTypein interfacejavax.ws.rs.ext.InterceptorContext
-
getHeaders
public javax.ws.rs.core.MultivaluedMap<String,Object> getHeaders()
Description copied from interface:AsyncWriterInterceptorContextGet mutable map of HTTP headers.- Specified by:
getHeadersin interfaceAsyncWriterInterceptorContext- Specified by:
getHeadersin interfacejavax.ws.rs.ext.WriterInterceptorContext- Returns:
- map of HTTP headers.
-
getOutputStream
public OutputStream getOutputStream()
- Specified by:
getOutputStreamin interfacejavax.ws.rs.ext.WriterInterceptorContext
-
setOutputStream
public void setOutputStream(OutputStream outputStream)
- Specified by:
setOutputStreamin interfacejavax.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[], javax.ws.rs.core.MediaType, javax.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, javax.ws.rs.WebApplicationException- Specified by:
proceedin interfacejavax.ws.rs.ext.WriterInterceptorContext- Throws:
IOExceptionjavax.ws.rs.WebApplicationException
-
syncProceed
public CompletionStage<Void> syncProceed() throws IOException, javax.ws.rs.WebApplicationException
- Throws:
IOExceptionjavax.ws.rs.WebApplicationException
-
traceBefore
protected final void traceBefore(javax.ws.rs.ext.WriterInterceptor interceptor)
-
traceAfter
protected final void traceAfter(javax.ws.rs.ext.WriterInterceptor interceptor)
-
writeTo
protected CompletionStage<Void> writeTo(javax.ws.rs.ext.MessageBodyWriter writer) throws IOException
- Throws:
IOException
-
writeTo
protected CompletionStage<Void> writeTo(AsyncMessageBodyWriter writer)
-
getWriter
protected javax.ws.rs.ext.MessageBodyWriter getWriter()
-
resolveWriter
protected abstract javax.ws.rs.ext.MessageBodyWriter resolveWriter()
-
-