- Since:
- 2.0
- Author:
- Marek Potociar
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Abort the filter chain with a response.boolean
containsHeaderString
(String name, String valueSeparatorRegex, Predicate<String> valuePredicate) Checks whether a header with a specific name and value (or item of the token-separated value list) exists.default boolean
containsHeaderString
(String name, Predicate<String> valuePredicate) Checks whether a header with a specific name and value (or item of the comma-separated value list) exists.Get a list of languages that are acceptable for the response.Get a list of media types that are acceptable for the response.Get the client instance associated with the request.Get the immutable configuration of the request.Get any cookies that accompanied the request.getDate()
Get message date.Get the message entity Java instance.Get the annotations attached to the entity instance.Class
<?> Get the raw entity type information.Get the entity output stream.Get the generic entity type information.Get the mutable request headers multivalued map.getHeaderString
(String name) Get a message header as a single string value.Get the language of the entity.Get the media type of the entity.Get the request method.getProperty
(String name) Returns the property with the given name registered in the current request/response exchange context, ornull
if there is no property by that name.Returns an immutablecollection
containing the property names available within the context of the current request/response exchange context.Get a string view of header values associated with the message.getUri()
Get the request URI.boolean
Check if there is an entity available in the request.default boolean
hasProperty
(String name) Returnstrue
if the property with the given name is registered in the current request/response exchange context, orfalse
if there is no property by that name.void
removeProperty
(String name) Removes a property with the given name from the current request/response exchange context.void
Set a new message entity.void
setEntity
(Object entity, Annotation[] annotations, MediaType mediaType) Set a new message entity, including the attached annotations and the media type.void
setEntityStream
(OutputStream outputStream) Set a new entity output stream.void
Set the request method.void
setProperty
(String name, Object object) Binds an object to a given property name in the current request/response exchange context.void
Set a new request URI.
-
Method Details
-
getProperty
Returns the property with the given name registered in the current request/response exchange context, ornull
if there is no property by that name.A property allows a JAX-RS filters and interceptors to exchange additional custom information not already provided by this interface.
A list of supported properties can be retrieved using
getPropertyNames()
. Custom property names should follow the same convention as package names.- Parameters:
name
- aString
specifying the name of the property.- Returns:
- an
Object
containing the value of the property, ornull
if no property exists matching the given name. - See Also:
-
getPropertyNames
Collection<String> getPropertyNames()Returns an immutablecollection
containing the property names available within the context of the current request/response exchange context.Use the
getProperty(java.lang.String)
method with a property name to get the value of a property.- Returns:
- an immutable
collection
of property names. - See Also:
-
hasProperty
Returnstrue
if the property with the given name is registered in the current request/response exchange context, orfalse
if there is no property by that name.Use the
getProperty(java.lang.String)
method with a property name to get the value of a property.- Parameters:
name
- aString
specifying the name of the property.- Returns:
true
if this property is registered in the context, orfalse
if no property exists matching the given name.- See Also:
-
setProperty
Binds an object to a given property name in the current request/response exchange context. If the name specified is already used for a property, this method will replace the value of the property with the new value.A property allows a JAX-RS filters and interceptors to exchange additional custom information not already provided by this interface.
A list of supported properties can be retrieved using
getPropertyNames()
. Custom property names should follow the same convention as package names.If a
null
value is passed, the effect is the same as calling theremoveProperty(String)
method.- Parameters:
name
- aString
specifying the name of the property.object
- anObject
representing the property to be bound.
-
removeProperty
Removes a property with the given name from the current request/response exchange context. After removal, subsequent calls togetProperty(java.lang.String)
to retrieve the property value will returnnull
.- Parameters:
name
- aString
specifying the name of the property to be removed.
-
getUri
URI getUri()Get the request URI.- Returns:
- request URI.
-
setUri
Set a new request URI.- Parameters:
uri
- new request URI.
-
getMethod
String getMethod()Get the request method.- Returns:
- the request method.
- See Also:
-
setMethod
Set the request method.- Parameters:
method
- new request method.- See Also:
-
getHeaders
MultivaluedMap<String,Object> getHeaders()Get the mutable request headers multivalued map.- Returns:
- mutable multivalued map of request headers.
- See Also:
-
getStringHeaders
MultivaluedMap<String,String> getStringHeaders()Get a string view of header values associated with the message. Changes in the underlyingheaders map
are reflected in this view.The method converts the non-string header values to strings using a
RuntimeDelegate.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 headers as a string view of header values.
- See Also:
-
getHeaderString
Get a message header as a single string value. Each single non-string header value is converted to String using aRuntimeDelegate.HeaderDelegate
if one is available viaRuntimeDelegate.createHeaderDelegate(java.lang.Class)
for the header value class or using itstoString
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. - See Also:
-
containsHeaderString
boolean containsHeaderString(String name, String valueSeparatorRegex, Predicate<String> valuePredicate) Checks whether a header with a specific name and value (or item of the token-separated value list) exists. Each single non-string header value is converted to String using aRuntimeDelegate.HeaderDelegate
if one is available viaRuntimeDelegate.createHeaderDelegate(java.lang.Class)
for the header value class or using itstoString
method if a header delegate is not available.For example:
containsHeaderString("cache-control", ",", "no-store"::equalsIgnoreCase)
will returntrue
if aCache-Control
header exists that has the valueno-store
, the valueNo-Store
or the valueMax-Age, NO-STORE, no-transform
, butfalse
when it has the valueno-store;no-transform
(missing comma), or the valueno - store
(whitespace within value).- Parameters:
name
- the message header.valueSeparatorRegex
- Regular expression that separates the header value into single values.null
does not split.valuePredicate
- value must fulfil this predicate.- Returns:
true
if and only if a header with the given name exists, having either a whitespace-trimmed value matching the predicate, or having at least one whitespace-trimmed single value in a token-separated list of single values.- Since:
- 4.0
- See Also:
-
containsHeaderString
Checks whether a header with a specific name and value (or item of the comma-separated value list) exists. Each single non-string header value is converted to String using aRuntimeDelegate.HeaderDelegate
if one is available viaRuntimeDelegate.createHeaderDelegate(java.lang.Class)
for the header value class or using itstoString
method if a header delegate is not available.For example:
containsHeaderString("cache-control", "no-store"::equalsIgnoreCase)
will returntrue
if aCache-Control
header exists that has the valueno-store
, the valueNo-Store
or the valueMax-Age, NO-STORE, no-transform
, butfalse
when it has the valueno-store;no-transform
(missing comma), or the valueno - store
(whitespace within value).- Parameters:
name
- the message header.valuePredicate
- value must fulfil this predicate.- Returns:
true
if and only if a header with the given name exists, having either a whitespace-trimmed value matching the predicate, or having at least one whitespace-trimmed single value in a comma-separated list of single values.- Since:
- 4.0
- See Also:
-
getDate
Date getDate()Get message date.- Returns:
- the message date, otherwise
null
if not present.
-
getLanguage
Locale getLanguage()Get the language of the entity.- Returns:
- the language of the entity or
null
if not specified
-
getMediaType
MediaType getMediaType()Get the media type of the entity.- Returns:
- the media type or
null
if not specified (e.g. there's no request entity).
-
getAcceptableMediaTypes
Get a list of media types that are acceptable for the response.- Returns:
- a read-only list of requested response media types sorted according to their q-value, with highest preference first.
-
getAcceptableLanguages
Get a list of languages that are acceptable for the response.- Returns:
- a read-only list of acceptable languages sorted according to their q-value, with highest preference first.
-
getCookies
Get any cookies that accompanied the request.- Returns:
- a read-only map of cookie name (String) to
Cookie
.
-
hasEntity
boolean hasEntity()Check if there is an entity available in the request. The method returnstrue
if the entity is present, returnsfalse
otherwise.- Returns:
true
if there is an entity present in the message,false
otherwise.
-
getEntity
Object getEntity()Get the message entity Java instance. Returnsnull
if the message does not contain an entity.- Returns:
- the message entity or
null
if message does not contain an entity body.
-
getEntityClass
Class<?> getEntityClass()Get the raw entity type information.- Returns:
- raw entity type.
-
getEntityType
Type getEntityType()Get the generic entity type information.- Returns:
- generic entity type.
-
setEntity
Set a new message entity. The existing entityannotations
andmedia type
are preserved.It is the callers responsibility to wrap the actual entity with
GenericEntity
if preservation of its generic type is required.- Parameters:
entity
- entity object.- See Also:
-
setEntity
Set a new message entity, including the attached annotations and the media type.It is the callers responsibility to wrap the actual entity with
GenericEntity
if preservation of its generic type is required.- Parameters:
entity
- entity object.annotations
- annotations attached to the entity instance.mediaType
- entity media type.- See Also:
-
getEntityAnnotations
Annotation[] getEntityAnnotations()Get the annotations attached to the entity instance.Note that the returned annotations array contains only those annotations explicitly attached to entity instance (such as the ones attached using
Entity(Object, jakarta.ws.rs.core.MediaType, java.lang.annotation.Annotation[])
method). The entity instance annotations array does not include annotations declared on the entity implementation class or its ancestors.- Returns:
- annotations attached to the entity instance.
-
getEntityStream
OutputStream getEntityStream()Get the entity output stream. The JAX-RS runtime is responsible for closing the output stream.- Returns:
- entity output stream.
-
setEntityStream
Set a new entity output stream. The JAX-RS runtime is responsible for closing the output stream.- Parameters:
outputStream
- new entity output stream.
-
getClient
Client getClient()Get the client instance associated with the request.- Returns:
- client instance associated with the request.
-
getConfiguration
Configuration getConfiguration()Get the immutable configuration of the request.- Returns:
- immutable request configuration.
-
abortWith
Abort the filter chain with a response. This method breaks the filter chain processing and returns the provided response back to the client. The provided response goes through the chain of applicable response filters.- Parameters:
response
- response to be sent back to the client.
-