Class OutboundMessageContext

java.lang.Object
org.glassfish.jersey.message.internal.MessageHeaderMethods
org.glassfish.jersey.message.internal.OutboundMessageContext
Direct Known Subclasses:
ClientRequest

public class OutboundMessageContext extends MessageHeaderMethods
Base outbound message context implementation.
Author:
Marek Potociar
  • Constructor Details

    • OutboundMessageContext

      public OutboundMessageContext(Configuration configuration)
      Create new outbound message context.
      Parameters:
      configuration - the client/server Configuration. If null, the default behaviour is expected.
    • OutboundMessageContext

      public OutboundMessageContext(OutboundMessageContext original)
      Create new outbound message context copying the content of another context.
      Parameters:
      original - the original outbound message context.
    • OutboundMessageContext

      @Deprecated public OutboundMessageContext()
      Deprecated.
      Create new outbound message context.
      See Also:
  • Method Details

    • replaceHeaders

      public void replaceHeaders(MultivaluedMap<String,Object> headers)
      Replace all headers.
      Parameters:
      headers - new headers.
    • getStringHeaders

      public MultivaluedMap<String,String> getStringHeaders()
      Get a multi-valued map representing outbound message headers with their values converted to strings.
      Returns:
      multi-valued map of outbound message header names to their string-converted values.
    • getHeaderString

      public String getHeaderString(String name)
      Get a message header as a single string value.

      Each single header value is converted to String using a RuntimeDelegate.HeaderDelegate if one is available via RuntimeDelegate.createHeaderDelegate(java.lang.Class) for the header value class or using its toString method if a header delegate is not available.

      Specified by:
      getHeaderString in class MessageHeaderMethods
      Parameters:
      name - the message header.
      Returns:
      the message header value. If the message header is not present then null is returned. If the message header is present but has no value then the empty string is returned. If the message header is present more than once then the values of joined together and separated by a ',' character.
    • getHeaderValueExceptionContext

      public HeaderValueException.Context getHeaderValueExceptionContext()
      Description copied from class: MessageHeaderMethods
      Return HeaderValueException.Context type of the message context.
      Specified by:
      getHeaderValueExceptionContext in class MessageHeaderMethods
      Returns:
      HeaderValueException.Context type of the message context.
    • getHeaders

      public MultivaluedMap<String,Object> getHeaders()
      Get the mutable message headers multivalued map.
      Specified by:
      getHeaders in class MessageHeaderMethods
      Returns:
      mutable multivalued map of message headers.
    • getMediaType

      public MediaType getMediaType()
      Get the media type of the entity.
      Returns:
      the media type or null if not specified (e.g. there's no message entity).
    • getAcceptableMediaTypes

      public List<MediaType> getAcceptableMediaTypes()
      Get a list of media types that are acceptable for the message.
      Returns:
      a read-only list of requested message media types sorted according to their q-value, with highest preference first.
    • getAcceptableLanguages

      public List<Locale> getAcceptableLanguages()
      Get a list of languages that are acceptable for the message.
      Returns:
      a read-only list of acceptable languages sorted according to their q-value, with highest preference first.
    • getLinks

      public Set<Link> getLinks()
      Get the links attached to the message as header.
      Specified by:
      getLinks in class MessageHeaderMethods
      Returns:
      links, may return empty Set if no links are present. Never returns null.
    • hasEntity

      public boolean hasEntity()
      Check if there is an entity available in the message.

      The method returns true if the entity is present, returns false otherwise.

      Returns:
      true if there is an entity present in the message, false otherwise.
    • getEntity

      public Object getEntity()
      Get the message entity Java instance.

      Returns null if the message does not contain an entity.

      Returns:
      the message entity or null if message does not contain an entity body.
    • setEntity

      public void setEntity(Object entity)
      Set a new message message entity.
      Parameters:
      entity - entity object.
      See Also:
    • setEntity

      public void setEntity(Object entity, Annotation[] annotations)
      Set a new message message entity.
      Parameters:
      entity - entity object.
      annotations - annotations attached to the entity.
      See Also:
    • setEntity

      public void setEntity(Object entity, Type type, Annotation[] annotations)
      Set a new message message entity.
      Parameters:
      entity - entity object.
      type - declared entity class.
      annotations - annotations attached to the entity.
      See Also:
    • setEntity

      public void setEntity(Object entity, Annotation[] annotations, MediaType mediaType)
      Set a new message message entity.
      Parameters:
      entity - entity object.
      annotations - annotations attached to the entity.
      mediaType - entity media type.
      See Also:
    • setMediaType

      public void setMediaType(MediaType mediaType)
      Set the message content media type.
      Parameters:
      mediaType - message content media type.
    • getEntityClass

      public Class<?> getEntityClass()
      Get the raw message entity type information.
      Returns:
      raw message entity type information.
    • getEntityType

      public Type getEntityType()
      Get the message entity type information.
      Returns:
      message entity type.
    • setEntityType

      public void setEntityType(Type type)
      Set the message entity type information.

      This method overrides any computed or previously set entity type information.

      Parameters:
      type - overriding message entity type.
    • getEntityAnnotations

      public Annotation[] getEntityAnnotations()
      Get the annotations attached to the entity.
      Returns:
      entity annotations.
    • setEntityAnnotations

      public void setEntityAnnotations(Annotation[] annotations)
      Set the annotations attached to the entity.
      Parameters:
      annotations - entity annotations.
    • getEntityStream

      public OutputStream getEntityStream()
      Get the entity output stream.
      Returns:
      entity output stream.
    • setEntityStream

      public void setEntityStream(OutputStream outputStream)
      Set a new entity output stream.
      Parameters:
      outputStream - new entity output stream.
    • enableBuffering

      public void enableBuffering(Configuration configuration)
      Enable a buffering of serialized entity. The buffering will be configured from configuration. The property determining the size of the buffer is CommonProperties.OUTBOUND_CONTENT_LENGTH_BUFFER.

      The buffering functionality is by default disabled and could be enabled by calling this method. In this case this method must be called before first bytes are written to the entity stream.
      Parameters:
      configuration - runtime configuration.
    • setStreamProvider

      public void setStreamProvider(OutboundMessageContext.StreamProvider streamProvider)
      Set a stream provider callback.

      This method must be called before first bytes are written to the entity stream.

      Parameters:
      streamProvider - non-null output stream provider.
    • commitStream

      public void commitStream() throws IOException
      Commits the entity stream if it wasn't already committed.
      Throws:
      IOException - in case of the IO error.
    • isCommitted

      public boolean isCommitted()
      Returns true if the entity stream has been committed.
      Returns:
      true if the entity stream has been committed. Otherwise returns false.
    • close

      public void close()
      Closes the context. Flushes and closes the entity stream.
    • getConfiguration

      public Configuration getConfiguration()
      The related client/server side Configuration. Can be null.
      Returns:
      Configuration the configuration