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[]
annotations
protected Object
entity
protected Type
genericType
protected jakarta.ws.rs.core.MultivaluedMap<String,Object>
headers
protected int
index
protected jakarta.ws.rs.ext.WriterInterceptor[]
interceptors
protected jakarta.ws.rs.core.MediaType
mediaType
protected OutputStream
outputStream
protected ResteasyProviderFactory
providerFactory
protected boolean
requireAsyncIO
protected RESTEasyTracingLogger
tracingLogger
protected Class
type
-
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()
AsyncOutputStream
getAsyncOutputStream()
Get the async output stream for the object to be written.Object
getEntity()
Get object to be written as HTTP entity.Type
getGenericType()
jakarta.ws.rs.core.MultivaluedMap<String,Object>
getHeaders()
Get mutable map of HTTP headers.jakarta.ws.rs.core.MediaType
getMediaType()
OutputStream
getOutputStream()
int
getProcessedInterceptorCount()
CompletionStage<Void>
getStarted()
Class
getType()
protected jakarta.ws.rs.ext.MessageBodyWriter
getWriter()
protected boolean
preferAsyncIo()
void
proceed()
protected abstract jakarta.ws.rs.ext.MessageBodyWriter
resolveWriter()
void
setAnnotations(Annotation[] annotations)
void
setAsyncOutputStream(AsyncOutputStream asyncOutputStream)
Set a new async output stream for the object to be written.void
setEntity(Object entity)
Update object to be written as HTTP entity.void
setGenericType(Type genericType)
void
setMediaType(jakarta.ws.rs.core.MediaType mediaType)
void
setOutputStream(OutputStream outputStream)
void
setType(Class type)
CompletionStage<Void>
syncProceed()
protected void
traceAfter(jakarta.ws.rs.ext.WriterInterceptor interceptor)
protected void
traceBefore(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:AsyncWriterInterceptorContext
Get object to be written as HTTP entity.- Specified by:
getEntity
in interfaceAsyncWriterInterceptorContext
- Specified by:
getEntity
in interfacejakarta.ws.rs.ext.WriterInterceptorContext
- Returns:
- object to be written as HTTP entity.
-
setEntity
public void setEntity(Object entity)
Description copied from interface:AsyncWriterInterceptorContext
Update object to be written as HTTP entity.- Specified by:
setEntity
in interfaceAsyncWriterInterceptorContext
- Specified by:
setEntity
in interfacejakarta.ws.rs.ext.WriterInterceptorContext
- Parameters:
entity
- new object to be written.
-
getType
public Class getType()
- Specified by:
getType
in interfacejakarta.ws.rs.ext.InterceptorContext
-
setType
public void setType(Class type)
- Specified by:
setType
in interfacejakarta.ws.rs.ext.InterceptorContext
-
getGenericType
public Type getGenericType()
- Specified by:
getGenericType
in interfacejakarta.ws.rs.ext.InterceptorContext
-
setGenericType
public void setGenericType(Type genericType)
- Specified by:
setGenericType
in interfacejakarta.ws.rs.ext.InterceptorContext
-
getAnnotations
public Annotation[] getAnnotations()
- Specified by:
getAnnotations
in interfacejakarta.ws.rs.ext.InterceptorContext
-
setAnnotations
public void setAnnotations(Annotation[] annotations)
- Specified by:
setAnnotations
in interfacejakarta.ws.rs.ext.InterceptorContext
-
getMediaType
public jakarta.ws.rs.core.MediaType getMediaType()
- Specified by:
getMediaType
in interfacejakarta.ws.rs.ext.InterceptorContext
-
setMediaType
public void setMediaType(jakarta.ws.rs.core.MediaType mediaType)
- Specified by:
setMediaType
in interfacejakarta.ws.rs.ext.InterceptorContext
-
getHeaders
public jakarta.ws.rs.core.MultivaluedMap<String,Object> getHeaders()
Description copied from interface:AsyncWriterInterceptorContext
Get mutable map of HTTP headers.- Specified by:
getHeaders
in interfaceAsyncWriterInterceptorContext
- Specified by:
getHeaders
in interfacejakarta.ws.rs.ext.WriterInterceptorContext
- Returns:
- map of HTTP headers.
-
getOutputStream
public OutputStream getOutputStream()
- Specified by:
getOutputStream
in interfacejakarta.ws.rs.ext.WriterInterceptorContext
-
setOutputStream
public void setOutputStream(OutputStream outputStream)
- Specified by:
setOutputStream
in interfacejakarta.ws.rs.ext.WriterInterceptorContext
-
setAsyncOutputStream
public void setAsyncOutputStream(AsyncOutputStream asyncOutputStream)
Description copied from interface:AsyncWriterInterceptorContext
Set 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:
setAsyncOutputStream
in interfaceAsyncWriterInterceptorContext
- Parameters:
asyncOutputStream
- new async output stream for the object to be written.
-
getAsyncOutputStream
public AsyncOutputStream getAsyncOutputStream()
Description copied from interface:AsyncWriterInterceptorContext
Get the async output stream for the object to be written. The runtime is responsible for closing the output stream.- Specified by:
getAsyncOutputStream
in 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:AsyncWriterInterceptorContext
Proceed 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:
asyncProceed
in interfaceAsyncWriterInterceptorContext
- Returns:
- a
CompletionStage
indicating completion.
-
proceed
public void proceed() throws IOException, jakarta.ws.rs.WebApplicationException
- Specified by:
proceed
in interfacejakarta.ws.rs.ext.WriterInterceptorContext
- Throws:
IOException
jakarta.ws.rs.WebApplicationException
-
syncProceed
public CompletionStage<Void> syncProceed() throws IOException, jakarta.ws.rs.WebApplicationException
- Throws:
IOException
jakarta.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()
-
-