org.glassfish.jersey.message.internal
Class OutboundMessageContext

java.lang.Object
  extended by org.glassfish.jersey.message.internal.OutboundMessageContext

public class OutboundMessageContext
extends Object

Base outbound message context implementation.

Author:
Marek Potociar (marek.potociar at oracle.com)

Nested Class Summary
static interface OutboundMessageContext.StreamProvider
          Output stream provider that provides access to the entity output stream.
 
Constructor Summary
OutboundMessageContext()
          Create new outbound message context.
OutboundMessageContext(OutboundMessageContext original)
          Create new outbound message context copying the content of another context.
 
Method Summary
 void close()
          Closes the context.
 void commitStream()
          Commits the entity stream if it wasn't already committed.
 List<Locale> getAcceptableLanguages()
          Get a list of languages that are acceptable for the message.
 List<MediaType> getAcceptableMediaTypes()
          Get a list of media types that are acceptable for the message.
 Set<String> getAllowedMethods()
          Get the allowed HTTP methods from the Allow HTTP header.
 Date getDate()
          Get message date.
 Object getEntity()
          Get the message entity Java instance.
 Annotation[] getEntityAnnotations()
          Get the annotations attached to the entity.
 Class<?> getEntityClass()
          Get the raw message entity type information.
 OutputStream getEntityStream()
          Get the entity output stream.
 EntityTag getEntityTag()
          Get the entity tag.
 Type getEntityType()
          Get the message entity type information.
 MultivaluedMap<String,Object> getHeaders()
          Get the mutable message headers multivalued map.
 String getHeaderString(String name)
          Get a message header as a single string value.
 Locale getLanguage()
          Get the language of the entity.
 Date getLastModified()
          Get the last modified date.
 int getLength()
          Get Content-Length value.
 Link getLink(String relation)
          Get the link for the relation.
 Link.Builder getLinkBuilder(String relation)
          Convenience method that returns a Link.Builder for the relation.
 Set<Link> getLinks()
          Get the links attached to the message as header.
 URI getLocation()
          Get the location.
 MediaType getMediaType()
          Get the media type of the entity.
 Map<String,Cookie> getRequestCookies()
          Get any cookies that accompanied the message.
 Map<String,NewCookie> getResponseCookies()
          Get any new cookies set on the message message.
 MultivaluedMap<String,String> getStringHeaders()
          Get a multi-valued map representing outbound message headers with their values converted to strings.
 boolean hasEntity()
          Check if there is an entity available in the message.
 boolean hasLink(String relation)
          Check if link for relation exists.
 boolean isCommitted()
          Returns true if the entity stream has been committed.
 void replaceHeaders(MultivaluedMap<String,Object> headers)
          Replace all headers.
 void setEntity(Object entity)
          Set a new message message entity.
 void setEntity(Object entity, Annotation[] annotations)
          Set a new message message entity.
 void setEntity(Object entity, Annotation[] annotations, MediaType mediaType)
          Set a new message message entity.
 void setEntity(Object entity, Type type, Annotation[] annotations)
          Set a new message message entity.
 void setEntityAnnotations(Annotation[] annotations)
          Set the annotations attached to the entity.
 void setEntityStream(OutputStream outputStream)
          Set a new entity output stream.
 void setEntityType(Type type)
          Set the message entity type information.
 void setMediaType(MediaType mediaType)
          Set the message content media type.
 void setStreamProvider(OutboundMessageContext.StreamProvider streamProvider)
          Set the output stream provider.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OutboundMessageContext

public OutboundMessageContext()
Create new outbound message context.


OutboundMessageContext

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

Parameters:
original - the original outbound message context.
Method Detail

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.

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.

getHeaders

public MultivaluedMap<String,Object> getHeaders()
Get the mutable message headers multivalued map.

Returns:
mutable multivalued map of message headers.

getDate

public Date getDate()
Get message date.

Returns:
the message date, otherwise null if not present.

getLanguage

public Locale getLanguage()
Get the language of the entity.

Returns:
the language of the entity or null if not specified

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.

getRequestCookies

public Map<String,Cookie> getRequestCookies()
Get any cookies that accompanied the message.

Returns:
a read-only map of cookie name (String) to Cookie.

getAllowedMethods

public Set<String> getAllowedMethods()
Get the allowed HTTP methods from the Allow HTTP header.

Returns:
the allowed HTTP methods, all methods will returned as upper case strings.

getLength

public int getLength()
Get Content-Length value.

Returns:
Content-Length as integer if present and valid number. In other cases returns -1.

getResponseCookies

public Map<String,NewCookie> getResponseCookies()
Get any new cookies set on the message message.

Returns:
a read-only map of cookie name (String) to a new cookie.

getEntityTag

public EntityTag getEntityTag()
Get the entity tag.

Returns:
the entity tag, otherwise null if not present.

getLastModified

public Date getLastModified()
Get the last modified date.

Returns:
the last modified date, otherwise null if not present.

getLocation

public URI getLocation()
Get the location.

Returns:
the location URI, otherwise null if not present.

getLinks

public Set<Link> getLinks()
Get the links attached to the message as header.

Returns:
links, may return empty Set if no links are present. Never returns null.

hasLink

public boolean hasLink(String relation)
Check if link for relation exists.

Parameters:
relation - link relation.
Returns:
true if the for the relation link exists, false otherwise.

getLink

public Link getLink(String relation)
Get the link for the relation.

Parameters:
relation - link relation.
Returns:
the link for the relation, otherwise null if not present.

getLinkBuilder

public Link.Builder getLinkBuilder(String relation)
Convenience method that returns a Link.Builder for the relation.

Parameters:
relation - link relation.
Returns:
the link builder for the relation, otherwise null if not present.

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:
MessageBodyWriter

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:
MessageBodyWriter

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:
MessageBodyWriter

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:
MessageBodyWriter

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.

setStreamProvider

public void setStreamProvider(OutboundMessageContext.StreamProvider streamProvider)
Set the output stream provider.

Parameters:
streamProvider - output stream provider.

commitStream

public void commitStream()
Commits the entity stream if it wasn't already committed.


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.



Copyright © 2007-2013 Oracle Corporation. All Rights Reserved. Use is subject to license terms.