javax.ws.rs.client

## Interface ClientRequestContext

- All Known Implementing Classes:
    ClientRequestContextImpl

      public interface ClientRequestContext

  Client request filter context. A mutable class that provides request-specific information for the filter, such as request URI, message headers, message entity or request-scoped properties. The exposed setters allow modification of the exposed request-specific information.
  Since:
    2.0
  Author:
    Marek Potociar

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `abortWith(Response response)` Abort the filter chain with a response.
    `List<Locale>` | `getAcceptableLanguages()` Get a list of languages that are acceptable for the response.
    `List<MediaType>` | `getAcceptableMediaTypes()` Get a list of media types that are acceptable for the response.
    `Client` | `getClient()` Get the client instance associated with the request.
    `Configuration` | `getConfiguration()` Get the immutable configuration of the request.
    `Map<String,Cookie>` | `getCookies()` Get any cookies that accompanied the request.
    `Date` | `getDate()` Get message date.
    `Object` | `getEntity()` Get the message entity Java instance.
    `Annotation[]` | `getEntityAnnotations()` Get the annotations attached to the entity instance.
    `Class<?>` | `getEntityClass()` Get the raw entity type information.
    `OutputStream` | `getEntityStream()` Get the entity output stream.
    `Type` | `getEntityType()` Get the generic entity type information.
    `MultivaluedMap<String,Object>` | `getHeaders()` Get the mutable request headers multivalued map.
    `String` | `getHeaderString(String name)` Get a message header as a single string value.
    `Locale` | `getLanguage()` Get the language of the entity.
    `MediaType` | `getMediaType()` Get the media type of the entity.
    `String` | `getMethod()` Get the request method.
    `Object` | `getProperty(String name)` Returns the property with the given name registered in the current request/response exchange context, or `null` if there is no property by that name.
    `Collection<String>` | `getPropertyNames()` Returns an immutable `collection` containing the property names available within the context of the current request/response exchange context.
    `MultivaluedMap<String,String>` | `getStringHeaders()` Get a string view of header values associated with the message.
    `URI` | `getUri()` Get the request URI.
    `boolean` | `hasEntity()` Check if there is an entity available in the request.
    `void` | `removeProperty(String name)` Removes a property with the given name from the current request/response exchange context.
    `void` | `setEntity(Object entity)` 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` | `setMethod(String method)` 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` | `setUri(URI uri)` Set a new request URI.

- - ### Method Detail

    - #### getProperty

          Object getProperty(String name)

      Returns the property with the given name registered in the current request/response exchange context, or `null` 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` - a `String` specifying the name of the property.
      Returns:
        an `Object` containing the value of the property, or `null` if no property exists matching the given name.
      See Also:
        `getPropertyNames()`

    - #### getPropertyNames

          Collection<String> getPropertyNames()

      Returns an immutable `collection` 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:
        `getProperty(java.lang.String)`

    - #### setProperty

          void setProperty(String name,
                         Object object)

      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 the `removeProperty(String)` method.

      Parameters:
        `name` - a `String` specifying the name of the property.
        `object` - an `Object` representing the property to be bound.

    - #### removeProperty

          void removeProperty(String name)

      Removes a property with the given name from the current request/response exchange context. After removal, subsequent calls to `getProperty(java.lang.String)` to retrieve the property value will return `null`.
      Parameters:
        `name` - a `String` specifying the name of the property to be removed.

    - #### getUri

          URI getUri()

      Get the request URI.
      Returns:
        request URI.

    - #### setUri

          void setUri(URI uri)

      Set a new request URI.
      Parameters:
        `uri` - new request URI.

    - #### getMethod

          String getMethod()

      Get the request method.
      Returns:
        the request method.
      See Also:
        `HttpMethod`

    - #### setMethod

          void setMethod(String method)

      Set the request method.
      Parameters:
        `method` - new request method.
      See Also:
        `HttpMethod`

    - #### getHeaders

          MultivaluedMap<String,Object> getHeaders()

      Get the mutable request headers multivalued map.
      Returns:
        mutable multivalued map of request headers.
      See Also:
        `getStringHeaders()`, `getHeaderString(String)`

    - #### getStringHeaders

          MultivaluedMap<String,String> getStringHeaders()

      Get a string view of header values associated with the message. Changes in the underlying `headers map` are reflected in this view.

      The method converts the non-string header values to strings using a `RuntimeDelegate.HeaderDelegate` if one is available via `RuntimeDelegate.createHeaderDelegate(java.lang.Class)` for the class of the value or using the values `toString` method if a header delegate is not available.

      Returns:
        response headers as a string view of header values.
      See Also:
        `getHeaders()`, `getHeaderString(String)`

    - #### getHeaderString

          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.
      See Also:
        `getHeaders()`, `getStringHeaders()`

    - #### 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

          List<MediaType> 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

          List<Locale> 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

          Map<String,Cookie> 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 returns `true` if the entity is present, returns `false` otherwise.
      Returns:
        `true` if there is an entity present in the message, `false` otherwise.

    - #### getEntity

          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.

    - #### 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

          void setEntity(Object entity)

      Set a new message entity. The existing entity `annotations` and `media 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(Object, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType)`, `MessageBodyWriter`

    - #### setEntity

          void setEntity(Object entity,
                       Annotation[] annotations,
                       MediaType mediaType)

      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:
        `setEntity(Object)`, `MessageBodyWriter`

    - #### 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.Entity(Object, javax.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

          void setEntityStream(OutputStream outputStream)

      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

          void abortWith(Response response)

      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.

Copyright © 2014. All Rights Reserved.