Package javax.ws.rs.core
Class Response
java.lang.Object
javax.ws.rs.core.Response
Defines the contract between a returned instance and the runtime when
an application needs to provide metadata to the runtime. An application
class can extend this class directly or can use one of the static
methods to create an instance using a ResponseBuilder.
Several methods have parameters of type URI,
}.
UriBuilder
provides
convenient methods to create such values as does
invalid @link
{@link <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/URI.html#create(java.lang.String)">URI.create()</a>
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
A class used to build Response instances that contain metadata instead of or in addition to an entity.static enum
Commonly used status codes defined by HTTP, seeinvalid @link
{@link <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10">HTTP/1.1
static interface
Base interface for statuses used in responses. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Response()
Protected constructor, use one of the static methods to obtain aResponse.ResponseBuilder
instance and obtain a Response from that. -
Method Summary
Modifier and TypeMethodDescriptionstatic Response.ResponseBuilder
Create a new ResponseBuilder for a created resource, set the location header using the supplied value.static Response.ResponseBuilder
fromResponse
(Response response) Create a new ResponseBuilder by performing a shallow copy of an existing Response.abstract Object
Return the response entity.abstract MultivaluedMap
<String, Object> Get metadata associated with the response as a map.abstract int
Get the status code associated with the response.static Response.ResponseBuilder
Create a new ResponseBuilder for an empty response.static Response.ResponseBuilder
notAcceptable
(List<Variant> variants) Create a new ResponseBuilder for a not acceptable response.static Response.ResponseBuilder
Create a new ResponseBuilder with a not-modified status.static Response.ResponseBuilder
notModified
(String tag) Create a new ResponseBuilder with a not-modified status and a strong entity tag.static Response.ResponseBuilder
notModified
(EntityTag tag) Create a new ResponseBuilder with a not-modified status.static Response.ResponseBuilder
ok()
Create a new ResponseBuilder with an OK status.static Response.ResponseBuilder
Create a new ResponseBuilder that contains a representation.static Response.ResponseBuilder
Create a new ResponseBuilder that contains a representation.static Response.ResponseBuilder
Create a new ResponseBuilder that contains a representation.static Response.ResponseBuilder
Create a new ResponseBuilder that contains a representation.static Response.ResponseBuilder
Create a new ResponseBuilder for a redirection.static Response.ResponseBuilder
Create a new ResponseBuilder with an server error status.static Response.ResponseBuilder
status
(int status) Create a new ResponseBuilder with the supplied status.static Response.ResponseBuilder
status
(Response.Status status) Create a new ResponseBuilder with the supplied status.static Response.ResponseBuilder
status
(Response.StatusType status) Create a new ResponseBuilder with the supplied status.static Response.ResponseBuilder
temporaryRedirect
(URI location) Create a new ResponseBuilder for a temporary redirection.
-
Constructor Details
-
Response
protected Response()Protected constructor, use one of the static methods to obtain aResponse.ResponseBuilder
instance and obtain a Response from that.
-
-
Method Details
-
getEntity
Return the response entity. The response will be serialized using a MessageBodyWriter for either the class of the entity or, in the case ofGenericEntity
, the value ofGenericEntity.getRawType()
.- Returns:
- an object instance or null if there is no entity
- See Also:
-
getStatus
public abstract int getStatus()Get the status code associated with the response.- Returns:
- the response status code or -1 if the status was not set.
-
getMetadata
Get metadata associated with the response as a map. The returned map may be subsequently modified by the JAX-RS runtime. Values will be serialized using aRuntimeDelegate.HeaderDelegate
if one is available viaRuntimeDelegate.createHeaderDelegate(java.lang.Class)
for the class of the value or using the valuestoString
method if a header delegate is not available.- Returns:
- response metadata as a map
-
fromResponse
Create a new ResponseBuilder by performing a shallow copy of an existing Response. The returned builder has its own metadata map but entries are simply references to the keys and values contained in the supplied Response metadata map.- Parameters:
response
- a Response from which the status code, entity and metadata will be copied- Returns:
- a new ReponseBuilder
-
status
Create a new ResponseBuilder with the supplied status.- Parameters:
status
- the response status- Returns:
- a new ResponseBuilder
- Throws:
IllegalArgumentException
- if status is null
-
status
Create a new ResponseBuilder with the supplied status.- Parameters:
status
- the response status- Returns:
- a new ResponseBuilder
- Throws:
IllegalArgumentException
- if status is null
-
status
Create a new ResponseBuilder with the supplied status.- Parameters:
status
- the response status- Returns:
- a new ResponseBuilder
- Throws:
IllegalArgumentException
- if status is less than 100 or greater than 599.
-
ok
Create a new ResponseBuilder with an OK status.- Returns:
- a new ResponseBuilder
-
ok
Create a new ResponseBuilder that contains a representation. It is the callers responsibility to wrap the actual entity withGenericEntity
if preservation of its generic type is required.- Parameters:
entity
- the representation entity data- Returns:
- a new ResponseBuilder
-
ok
Create a new ResponseBuilder that contains a representation. It is the callers responsibility to wrap the actual entity withGenericEntity
if preservation of its generic type is required.- Parameters:
entity
- the representation entity datatype
- the media type of the entity- Returns:
- a new ResponseBuilder
-
ok
Create a new ResponseBuilder that contains a representation. It is the callers responsibility to wrap the actual entity withGenericEntity
if preservation of its generic type is required.- Parameters:
entity
- the representation entity datatype
- the media type of the entity- Returns:
- a new ResponseBuilder
-
ok
Create a new ResponseBuilder that contains a representation. It is the callers responsibility to wrap the actual entity withGenericEntity
if preservation of its generic type is required.- Parameters:
entity
- the representation entity datavariant
- representation metadata- Returns:
- a new ResponseBuilder
-
serverError
Create a new ResponseBuilder with an server error status.- Returns:
- a new ResponseBuilder
-
created
Create a new ResponseBuilder for a created resource, set the location header using the supplied value.- Parameters:
location
- the URI of the new resource. If a relative URI is supplied it will be converted into an absolute URI by resolving it relative to the request URI (seeUriInfo.getRequestUri()
).- Returns:
- a new ResponseBuilder
- Throws:
IllegalArgumentException
- if location is null
-
noContent
Create a new ResponseBuilder for an empty response.- Returns:
- a new ResponseBuilder
-
notModified
Create a new ResponseBuilder with a not-modified status.- Returns:
- a new ResponseBuilder
-
notModified
Create a new ResponseBuilder with a not-modified status.- Parameters:
tag
- a tag for the unmodified entity- Returns:
- a new ResponseBuilder
- Throws:
IllegalArgumentException
- if tag is null
-
notModified
Create a new ResponseBuilder with a not-modified status and a strong entity tag. This is a shortcut fornotModified(new EntityTag(value))
.- Parameters:
tag
- the string content of a strong entity tag. The JAX-RS runtime will quote the supplied value when creating the header.- Returns:
- a new ResponseBuilder
- Throws:
IllegalArgumentException
- if tag is null
-
seeOther
Create a new ResponseBuilder for a redirection. Used in the redirect-after-POST (aka POST/redirect/GET) pattern.- Parameters:
location
- the redirection URI. If a relative URI is supplied it will be converted into an absolute URI by resolving it relative to the base URI of the application (seeUriInfo.getBaseUri()
).- Returns:
- a new ResponseBuilder
- Throws:
IllegalArgumentException
- if location is null
-
temporaryRedirect
Create a new ResponseBuilder for a temporary redirection.- Parameters:
location
- the redirection URI. If a relative URI is supplied it will be converted into an absolute URI by resolving it relative to the base URI of the application (seeUriInfo.getBaseUri()
).- Returns:
- a new ResponseBuilder
- Throws:
IllegalArgumentException
- if location is null
-
notAcceptable
Create a new ResponseBuilder for a not acceptable response.- Parameters:
variants
- list of variants that were available, a null value is equivalent to an empty list.- Returns:
- a new ResponseBuilder
-