org.glassfish.jersey.message.internal
Class InboundMessageContext

java.lang.Object
  extended by org.glassfish.jersey.message.internal.InboundMessageContext
Direct Known Subclasses:
ClientResponse, ContainerRequest

public class InboundMessageContext
extends Object

Base inbound message context implementation.

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

Constructor Summary
InboundMessageContext()
          Create new inbound message context.
InboundMessageContext(boolean translateNce)
          Create new inbound message context.
 
Method Summary
 boolean bufferEntity()
          Buffer the entity stream (if not empty).
 void close()
          Closes the underlying content stream.
 Set<String> getAllowedMethods()
          Get the allowed HTTP methods from the Allow HTTP header.
 Date getDate()
          Get message date.
 InputStream getEntityStream()
          Get the entity input stream.
 EntityTag getEntityTag()
          Get the entity tag.
 MultivaluedMap<String,String> getHeaders()
          Get the mutable message headers multivalued map.
 String getHeaderString(String name)
          Get a message header as a single string value.
 Set<MatchingEntityTag> getIfMatch()
          Get If-Match header.
 Set<MatchingEntityTag> getIfNoneMatch()
          Get If-None-Match header.
 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.
 List<AcceptableLanguageTag> getQualifiedAcceptableLanguages()
          Get a list of languages that are acceptable for the message.
 List<AcceptableMediaType> getQualifiedAcceptableMediaTypes()
          Get a list of media types that are acceptable for a request.
 List<AcceptableToken> getQualifiedAcceptCharset()
          Get the list of language tag from the "Accept-Charset" of an HTTP request.
 List<AcceptableToken> getQualifiedAcceptEncoding()
          Get the list of language tag from the "Accept-Charset" of an HTTP request.
 Map<String,Cookie> getRequestCookies()
          Get any cookies that accompanied the request.
 Map<String,NewCookie> getResponseCookies()
          Get any new cookies set on the response message.
 MessageBodyWorkers getWorkers()
          Get context message body workers.
 boolean hasEntity()
          Check if there is a non-empty entity input stream is available in the message.
 boolean hasLink(String relation)
          Check if link for relation exists.
 InboundMessageContext header(String name, Object value)
          Add a new header value.
 InboundMessageContext headers(Map<String,List<String>> newHeaders)
          Add new headers.
 InboundMessageContext headers(MultivaluedMap<String,String> newHeaders)
          Add new headers.
 InboundMessageContext headers(String name, Iterable<?> values)
          Add new header values.
 InboundMessageContext headers(String name, Object... values)
          Add new header values.
<T> T
readEntity(Class<T> rawType, Annotation[] annotations, PropertiesDelegate propertiesDelegate)
          Read entity from a context entity input stream.
<T> T
readEntity(Class<T> rawType, PropertiesDelegate propertiesDelegate)
          Read entity from a context entity input stream.
<T> T
readEntity(Class<T> rawType, Type type, Annotation[] annotations, PropertiesDelegate propertiesDelegate)
          Read entity from a context entity input stream.
<T> T
readEntity(Class<T> rawType, Type type, PropertiesDelegate propertiesDelegate)
          Read entity from a context entity input stream.
 InboundMessageContext remove(String name)
          Remove a header.
 void setEntityStream(InputStream input)
          Set a new entity input stream.
 void setReaderInterceptors(Value<Iterable<ReaderInterceptor>> readerInterceptors)
          Set reader interceptors for reading entity from this context.
 void setWorkers(MessageBodyWorkers workers)
          Set context message body workers.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

InboundMessageContext

public InboundMessageContext()
Create new inbound message context.


InboundMessageContext

public InboundMessageContext(boolean translateNce)
Create new inbound message context.

Parameters:
translateNce - if true, the NoContentException thrown by a selected message body reader will be translated into a BadRequestException as required by JAX-RS specification on the server side.
Method Detail

header

public InboundMessageContext header(String name,
                                    Object value)
Add a new header value.

Parameters:
name - header name.
value - header value.
Returns:
updated context.

headers

public InboundMessageContext headers(String name,
                                     Object... values)
Add new header values.

Parameters:
name - header name.
values - header values.
Returns:
updated context.

headers

public InboundMessageContext headers(String name,
                                     Iterable<?> values)
Add new header values.

Parameters:
name - header name.
values - header values.
Returns:
updated context.

headers

public InboundMessageContext headers(MultivaluedMap<String,String> newHeaders)
Add new headers.

Parameters:
newHeaders - new headers.
Returns:
updated context.

headers

public InboundMessageContext headers(Map<String,List<String>> newHeaders)
Add new headers.

Parameters:
newHeaders - new headers.
Returns:
updated context.

remove

public InboundMessageContext remove(String name)
Remove a header.

Parameters:
name - header name.
Returns:
updated context.

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,String> 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.

getIfMatch

public Set<MatchingEntityTag> getIfMatch()
Get If-Match header.

Returns:
the If-Match header value, otherwise null if not present.

getIfNoneMatch

public Set<MatchingEntityTag> getIfNoneMatch()
Get If-None-Match header.

Returns:
the If-None-Match header value, 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

getLength

public int getLength()
Get Content-Length value.

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

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).

getQualifiedAcceptableMediaTypes

public List<AcceptableMediaType> getQualifiedAcceptableMediaTypes()
Get a list of media types that are acceptable for a request.

Returns:
a read-only list of requested response media types sorted according to their q-value, with highest preference first.

getQualifiedAcceptableLanguages

public List<AcceptableLanguageTag> getQualifiedAcceptableLanguages()
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.

getQualifiedAcceptCharset

public List<AcceptableToken> getQualifiedAcceptCharset()
Get the list of language tag from the "Accept-Charset" of an HTTP request.

Returns:
The list of AcceptableToken. This list is ordered with the highest quality acceptable charset occurring first.

getQualifiedAcceptEncoding

public List<AcceptableToken> getQualifiedAcceptEncoding()
Get the list of language tag from the "Accept-Charset" of an HTTP request.

Returns:
The list of AcceptableToken. This list is ordered with the highest quality acceptable charset occurring first.

getRequestCookies

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

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.

getResponseCookies

public Map<String,NewCookie> getResponseCookies()
Get any new cookies set on the response 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.

getWorkers

public MessageBodyWorkers getWorkers()
Get context message body workers.

Returns:
context message body workers.

setWorkers

public void setWorkers(MessageBodyWorkers workers)
Set context message body workers.

Parameters:
workers - context message body workers.

hasEntity

public boolean hasEntity()
Check if there is a non-empty entity input stream is 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.

getEntityStream

public InputStream getEntityStream()
Get the entity input stream.

Returns:
entity input stream.

setEntityStream

public void setEntityStream(InputStream input)
Set a new entity input stream.

Parameters:
input - new entity input stream.

readEntity

public <T> T readEntity(Class<T> rawType,
                        PropertiesDelegate propertiesDelegate)
Read entity from a context entity input stream.

Type Parameters:
T - entity Java object type.
Parameters:
rawType - raw Java entity type.
propertiesDelegate - request-scoped properties delegate.
Returns:
entity read from a context entity input stream.

readEntity

public <T> T readEntity(Class<T> rawType,
                        Annotation[] annotations,
                        PropertiesDelegate propertiesDelegate)
Read entity from a context entity input stream.

Type Parameters:
T - entity Java object type.
Parameters:
rawType - raw Java entity type.
annotations - entity annotations.
propertiesDelegate - request-scoped properties delegate.
Returns:
entity read from a context entity input stream.

readEntity

public <T> T readEntity(Class<T> rawType,
                        Type type,
                        PropertiesDelegate propertiesDelegate)
Read entity from a context entity input stream.

Type Parameters:
T - entity Java object type.
Parameters:
rawType - raw Java entity type.
type - generic Java entity type.
propertiesDelegate - request-scoped properties delegate.
Returns:
entity read from a context entity input stream.

readEntity

public <T> T readEntity(Class<T> rawType,
                        Type type,
                        Annotation[] annotations,
                        PropertiesDelegate propertiesDelegate)
Read entity from a context entity input stream.

Type Parameters:
T - entity Java object type.
Parameters:
rawType - raw Java entity type.
type - generic Java entity type.
annotations - entity annotations.
propertiesDelegate - request-scoped properties delegate.
Returns:
entity read from a context entity input stream.

bufferEntity

public boolean bufferEntity()
                     throws ProcessingException
Buffer the entity stream (if not empty).

Returns:
true if the entity input stream was successfully buffered.
Throws:
ProcessingException - in case of an IO error.

close

public void close()
Closes the underlying content stream.


setReaderInterceptors

public void setReaderInterceptors(Value<Iterable<ReaderInterceptor>> readerInterceptors)
Set reader interceptors for reading entity from this context.

Parameters:
readerInterceptors - A value that returns reader interceptors in the interceptor execution order.


Copyright © 2007-2014, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.