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 Details

    • 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
    • headers

      protected jakarta.ws.rs.core.MultivaluedMap<String,Object> headers
    • outputStream

      protected OutputStream outputStream
    • index

      protected int index
    • providerFactory

      protected ResteasyProviderFactory providerFactory
  • Constructor Details

  • Method Details

    • 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 interface AsyncWriterInterceptorContext
      Specified by:
      getEntity in interface jakarta.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 interface AsyncWriterInterceptorContext
      Specified by:
      setEntity in interface jakarta.ws.rs.ext.WriterInterceptorContext
      Parameters:
      entity - new object to be written.
    • getType

      public Class getType()
      Specified by:
      getType in interface jakarta.ws.rs.ext.InterceptorContext
    • setType

      public void setType(Class type)
      Specified by:
      setType in interface jakarta.ws.rs.ext.InterceptorContext
    • getGenericType

      public Type getGenericType()
      Specified by:
      getGenericType in interface jakarta.ws.rs.ext.InterceptorContext
    • setGenericType

      public void setGenericType(Type genericType)
      Specified by:
      setGenericType in interface jakarta.ws.rs.ext.InterceptorContext
    • getAnnotations

      public Annotation[] getAnnotations()
      Specified by:
      getAnnotations in interface jakarta.ws.rs.ext.InterceptorContext
    • setAnnotations

      public void setAnnotations(Annotation[] annotations)
      Specified by:
      setAnnotations in interface jakarta.ws.rs.ext.InterceptorContext
    • getMediaType

      public jakarta.ws.rs.core.MediaType getMediaType()
      Specified by:
      getMediaType in interface jakarta.ws.rs.ext.InterceptorContext
    • setMediaType

      public void setMediaType(jakarta.ws.rs.core.MediaType mediaType)
      Specified by:
      setMediaType in interface jakarta.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 interface AsyncWriterInterceptorContext
      Specified by:
      getHeaders in interface jakarta.ws.rs.ext.WriterInterceptorContext
      Returns:
      map of HTTP headers.
    • getOutputStream

      public OutputStream getOutputStream()
      Specified by:
      getOutputStream in interface jakarta.ws.rs.ext.WriterInterceptorContext
    • setOutputStream

      public void setOutputStream(OutputStream outputStream)
      Specified by:
      setOutputStream in interface jakarta.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 interface AsyncWriterInterceptorContext
      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 interface AsyncWriterInterceptorContext
      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 wrapped AsyncMessageBodyWriter.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 interface AsyncWriterInterceptorContext
      Returns:
      a CompletionStage indicating completion.
    • proceed

      public void proceed() throws IOException, jakarta.ws.rs.WebApplicationException
      Specified by:
      proceed in interface jakarta.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()