org.jboss.resteasy.client.jaxrs

## Interface ResteasyWebTarget

- All Superinterfaces:
    Configurable<WebTarget>, WebTarget
  All Known Implementing Classes:
    ClientWebTarget

      public interface ResteasyWebTarget
      extends WebTarget

  Version:
    $Revision: 1 $
  Author:
    Bill Burke

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ResteasyWebTarget` | `clone()`
    `ResteasyClient` | `getResteasyClient()`
    `ResteasyWebTarget` | `matrixParam(String name, Object... values)` Create a new `WebTarget` instance by appending a matrix parameter to the existing set of matrix parameters of the current final segment of the URI of the current target instance.
    `ResteasyWebTarget` | `path(Class<?> resource)`
    `ResteasyWebTarget` | `path(Method method)`
    `ResteasyWebTarget` | `path(String path)` Create a new `WebTarget` instance by appending path to the URI of the current target instance.
    `ResteasyWebTarget` | `property(String name, Object value)` Set the new configuration property, if already set, the existing value of the property will be updated.
    `<T> T` | `proxy(Class<T> proxyInterface)`
    `<T> ProxyBuilder<T>` | `proxyBuilder(Class<T> proxyInterface)`
    `ResteasyWebTarget` | `queryParam(String name, Object... values)` Create a new `WebTarget` instance by configuring a query parameter on the URI of the current target instance.
    `ResteasyWebTarget` | `queryParamNoTemplate(String name, Object... values)` Will encode any '{}' characters and not treat them as template parameters
    `ResteasyWebTarget` | `queryParams(MultivaluedMap<String,Object> parameters)`
    `ResteasyWebTarget` | `queryParamsNoTemplate(MultivaluedMap<String,Object> parameters)` Will encode any '{}' characters and not treat them as template parameters
    `ResteasyWebTarget` | `register(Class<?> componentClass)` Register a class of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.
    `ResteasyWebTarget` | `register(Class<?> componentClass, Class<?>... contracts)` Register a class of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.
    `ResteasyWebTarget` | `register(Class<?> componentClass, int priority)` Register a class of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.
    `ResteasyWebTarget` | `register(Class<?> componentClass, Map<Class<?>,Integer> contracts)` Register a class of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.
    `ResteasyWebTarget` | `register(Object component)` Register an instance of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.
    `ResteasyWebTarget` | `register(Object component, Class<?>... contracts)` Register an instance of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.
    `ResteasyWebTarget` | `register(Object component, int priority)` Register an instance of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.
    `ResteasyWebTarget` | `register(Object component, Map<Class<?>,Integer> contracts)` Register an instance of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.
    `ResteasyWebTarget` | `resolveTemplate(String name, Object value)` Create a new `WebTarget` instance by resolving a URI template with a given `name` in the URI of the current target instance using a supplied value.
    `ResteasyWebTarget` | `resolveTemplate(String name, Object value, boolean encodeSlashInPath)` Create a new `WebTarget` instance by resolving a URI template with a given `name` in the URI of the current target instance using a supplied value.
    `ResteasyWebTarget` | `resolveTemplateFromEncoded(String name, Object value)` Create a new `WebTarget` instance by resolving a URI template with a given `name` in the URI of the current target instance using a supplied encoded value.
    `ResteasyWebTarget` | `resolveTemplates(Map<String,Object> templateValues)` Create a new `WebTarget` instance by resolving one or more URI templates in the URI of the current target instance using supplied name-value pairs.
    `ResteasyWebTarget` | `resolveTemplates(Map<String,Object> templateValues, boolean encodeSlashInPath)` Create a new `WebTarget` instance by resolving one or more URI templates in the URI of the current target instance using supplied name-value pairs.
    `ResteasyWebTarget` | `resolveTemplatesFromEncoded(Map<String,Object> templateValues)` Create a new `WebTarget` instance by resolving one or more URI templates in the URI of the current target instance using supplied name-encoded value pairs.

    - ### Methods inherited from interface javax.ws.rs.client.WebTarget

      `getUri, getUriBuilder, request, request, request`

    - ### Methods inherited from interface javax.ws.rs.core.Configurable

      `getConfiguration`

- - ### Method Detail

    - #### getResteasyClient

          ResteasyClient getResteasyClient()

    - #### proxy

          <T> T proxy(Class<T> proxyInterface)

    - #### proxyBuilder

          <T> ProxyBuilder<T> proxyBuilder(Class<T> proxyInterface)

    - #### resolveTemplate

          ResteasyWebTarget resolveTemplate(String name,
                                          Object value)
                                            throws NullPointerException

      Description copied from interface: `WebTarget`
      Create a new `WebTarget` instance by resolving a URI template with a given `name` in the URI of the current target instance using a supplied value. In case a `null` template name or value is entered a `NullPointerException` is thrown.

      A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.

      Specified by:
        `resolveTemplate` in interface `WebTarget`
      Parameters:
        `name` - name of the URI template.
        `value` - value to be used to resolve the template.
      Returns:
        a new target instance.
      Throws:
        `NullPointerException` - if the resolved template name or value is `null`.

    - #### resolveTemplates

          ResteasyWebTarget resolveTemplates(Map<String,Object> templateValues)
                                             throws NullPointerException

      Description copied from interface: `WebTarget`
      Create a new `WebTarget` instance by resolving one or more URI templates in the URI of the current target instance using supplied name-value pairs. A call to the method with an empty parameter map is ignored, i.e. same `WebTarget` instance is returned.

      A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.

      Specified by:
        `resolveTemplates` in interface `WebTarget`
      Parameters:
        `templateValues` - a map of URI template names and their values.
      Returns:
        a new target instance or the same target instance in case the input name-value map is empty.
      Throws:
        `NullPointerException` - if the name-value map or any of the names or values in the map is `null`.

    - #### resolveTemplate

          ResteasyWebTarget resolveTemplate(String name,
                                          Object value,
                                          boolean encodeSlashInPath)
                                            throws NullPointerException

      Description copied from interface: `WebTarget`
      Create a new `WebTarget` instance by resolving a URI template with a given `name` in the URI of the current target instance using a supplied value. In case a `null` template name or value is entered a `NullPointerException` is thrown.

      A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.

      Specified by:
        `resolveTemplate` in interface `WebTarget`
      Parameters:
        `name` - name of the URI template.
        `value` - value to be used to resolve the template.
        `encodeSlashInPath` - if `true`, the slash (`'/'`) characters in template values will be encoded if the template is placed in the URI path component, otherwise the slash characters will not be encoded in path templates.
      Returns:
        a new target instance.
      Throws:
        `NullPointerException` - if the resolved template name or value is `null`.

    - #### resolveTemplateFromEncoded

          ResteasyWebTarget resolveTemplateFromEncoded(String name,
                                                     Object value)
                                                       throws NullPointerException

      Description copied from interface: `WebTarget`
      Create a new `WebTarget` instance by resolving a URI template with a given `name` in the URI of the current target instance using a supplied encoded value. A template with a matching name will be replaced by the supplied value. Value is converted to `String` using its `toString()` method and is then encoded to match the rules of the URI component to which they pertain. All % characters in the stringified values that are not followed by two hexadecimal numbers will be encoded. In case a `null` template name or value is entered a `NullPointerException` is thrown.

      A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.

      Specified by:
        `resolveTemplateFromEncoded` in interface `WebTarget`
      Parameters:
        `name` - name of the URI template.
        `value` - encoded value to be used to resolve the template.
      Returns:
        a new target instance.
      Throws:
        `NullPointerException` - if the resolved template name or value is `null`.

    - #### resolveTemplatesFromEncoded

          ResteasyWebTarget resolveTemplatesFromEncoded(Map<String,Object> templateValues)
                                                        throws NullPointerException

      Description copied from interface: `WebTarget`
      Create a new `WebTarget` instance by resolving one or more URI templates in the URI of the current target instance using supplied name-encoded value pairs. All templates with their name matching one of the keys in the supplied map will be replaced by the value in the supplied map. Values are converted to `String` using their `toString()` method and are then encoded to match the rules of the URI component to which they pertain. All % characters in the stringified values that are not followed by two hexadecimal numbers will be encoded. A call to the method with an empty parameter map is ignored, i.e. same `WebTarget` instance is returned.

      A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.

      Specified by:
        `resolveTemplatesFromEncoded` in interface `WebTarget`
      Parameters:
        `templateValues` - a map of URI template names and their encoded values.
      Returns:
        a new target instance or the same target instance in case the input name-value map is empty.
      Throws:
        `NullPointerException` - if the name-value map or any of the names or encoded values in the map is `null`.

    - #### resolveTemplates

          ResteasyWebTarget resolveTemplates(Map<String,Object> templateValues,
                                           boolean encodeSlashInPath)
                                             throws NullPointerException

      Description copied from interface: `WebTarget`
      Create a new `WebTarget` instance by resolving one or more URI templates in the URI of the current target instance using supplied name-value pairs. A call to the method with an empty parameter map is ignored, i.e. same `WebTarget` instance is returned.

      A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.

      Specified by:
        `resolveTemplates` in interface `WebTarget`
      Parameters:
        `templateValues` - a map of URI template names and their values.
        `encodeSlashInPath` - if `true`, the slash (`'/'`) characters in template values will be encoded if the template is placed in the URI path component, otherwise the slash characters will not be encoded in path templates.
      Returns:
        a new target instance or the same target instance in case the input name-value map is empty.
      Throws:
        `NullPointerException` - if the name-value map or any of the names or values in the map is `null`.

    - #### path

          ResteasyWebTarget path(String path)
                                 throws NullPointerException

      Description copied from interface: `WebTarget`
      Create a new `WebTarget` instance by appending path to the URI of the current target instance.

      When constructing the final path, a '/' separator will be inserted between the existing path and the supplied path if necessary. Existing '/' characters are preserved thus a single value can represent multiple URI path segments.

      A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.

      Specified by:
        `path` in interface `WebTarget`
      Parameters:
        `path` - the path, may contain URI template parameters.
      Returns:
        a new target instance.
      Throws:
        `NullPointerException` - if path is `null`.

    - #### matrixParam

          ResteasyWebTarget matrixParam(String name,
                                      Object... values)
                                        throws NullPointerException

      Description copied from interface: `WebTarget`
      Create a new `WebTarget` instance by appending a matrix parameter to the existing set of matrix parameters of the current final segment of the URI of the current target instance. If multiple values are supplied the parameter will be added once per value. In case a single `null` value is entered, all parameters with that name in the current final path segment are removed (if present) from the collection of last segment matrix parameters inherited from the current target.

      Note that the matrix parameters are tied to a particular path segment; appending a value to an existing matrix parameter name will not affect the position of the matrix parameter in the URI path.

      A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.

      Specified by:
        `matrixParam` in interface `WebTarget`
      Parameters:
        `name` - the matrix parameter name, may contain URI template parameters.
        `values` - the matrix parameter value(s), each object will be converted to a `String` using its `toString()` method. Stringified values may contain URI template parameters.
      Returns:
        a new target instance.
      Throws:
        `NullPointerException` - if the parameter name is `null` or if there are multiple values present and any of those values is `null`.
      See Also:
        Matrix URIs

    - #### queryParam

          ResteasyWebTarget queryParam(String name,
                                     Object... values)
                                       throws NullPointerException

      Description copied from interface: `WebTarget`
      Create a new `WebTarget` instance by configuring a query parameter on the URI of the current target instance. If multiple values are supplied the parameter will be added once per value. In case a single `null` value is entered, all parameters with that name are removed (if present) from the collection of query parameters inherited from the current target.

      A snapshot of the present configuration of the current (parent) target instance is taken and is inherited by the newly constructed (child) target instance.

      Specified by:
        `queryParam` in interface `WebTarget`
      Parameters:
        `name` - the query parameter name, may contain URI template parameters
        `values` - the query parameter value(s), each object will be converted to a `String` using its `toString()` method. Stringified values may contain URI template parameters.
      Returns:
        a new target instance.
      Throws:
        `NullPointerException` - if the parameter name is `null` or if there are multiple values present and any of those values is `null`.

    - #### queryParams

          ResteasyWebTarget queryParams(MultivaluedMap<String,Object> parameters)
                                        throws IllegalArgumentException,
                                               NullPointerException

      Throws:
        `IllegalArgumentException`
        `NullPointerException`

    - #### queryParamNoTemplate

          ResteasyWebTarget queryParamNoTemplate(String name,
                                               Object... values)
                                                 throws NullPointerException

      Will encode any '{}' characters and not treat them as template parameters
      Throws:
        `NullPointerException`

    - #### queryParamsNoTemplate

          ResteasyWebTarget queryParamsNoTemplate(MultivaluedMap<String,Object> parameters)
                                                  throws IllegalArgumentException,
                                                         NullPointerException

      Will encode any '{}' characters and not treat them as template parameters
      Throws:
        `IllegalArgumentException`
        `NullPointerException`

    - #### path

          ResteasyWebTarget path(Class<?> resource)
                                 throws IllegalArgumentException

      Throws:
        `IllegalArgumentException`

    - #### path

          ResteasyWebTarget path(Method method)
                                 throws IllegalArgumentException

      Throws:
        `IllegalArgumentException`

    - #### clone

          ResteasyWebTarget clone()

    - #### property

          ResteasyWebTarget property(String name,
                                   Object value)

      Description copied from interface: `Configurable`
      Set the new configuration property, if already set, the existing value of the property will be updated. Setting a `null` value into a property effectively removes the property from the property bag.
      Specified by:
        `property` in interface `Configurable<WebTarget>`
      Parameters:
        `name` - property name.
        `value` - (new) property value. `null` value removes the property with the given name.
      Returns:
        the updated configurable instance.

    - #### register

          ResteasyWebTarget register(Class<?> componentClass)

      Description copied from interface: `Configurable`
      Register a class of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context. Implementations SHOULD warn about and ignore registrations that do not conform to the requirements of supported JAX-RS component types in the given configurable context. Any subsequent registration attempts for a component type, for which a class or instance-based registration already exists in the system MUST be rejected by the JAX-RS implementation and a warning SHOULD be raised to inform the user about the rejected registration. The registered JAX-RS component class is registered as a contract provider of all the recognized JAX-RS or implementation-specific extension contracts including meta-provider contracts, such as `Feature` or `DynamicFeature`.

      As opposed to component instances registered via `Configurable.register(Object)` method, the lifecycle of components registered using this class-based `register(...)` method is fully managed by the JAX-RS implementation or any underlying IoC container supported by the implementation.

      Specified by:
        `register` in interface `Configurable<WebTarget>`
      Parameters:
        `componentClass` - JAX-RS component class to be configured in the scope of this configurable context.
      Returns:
        the updated configurable context.

    - #### register

          ResteasyWebTarget register(Class<?> componentClass,
                                   int priority)

      Description copied from interface: `Configurable`
      Register a class of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.

      This registration method provides the same functionality as `Configurable.register(Class)` except that any priority specified on the registered JAX-RS component class via `javax.annotation.Priority` annotation is overridden with the supplied `priority` value.

      Note that in case the priority is not applicable to a particular provider contract implemented by the class of the registered component, the supplied `priority` value will be ignored for that contract.

      Specified by:
        `register` in interface `Configurable<WebTarget>`
      Parameters:
        `componentClass` - JAX-RS component class to be configured in the scope of this configurable context.
        `priority` - the overriding priority for the registered component and all the provider contracts the component implements.
      Returns:
        the updated configurable context.

    - #### register

          ResteasyWebTarget register(Class<?> componentClass,
                                   Class<?>... contracts)

      Description copied from interface: `Configurable`
      Register a class of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.

      This registration method provides the same functionality as `Configurable.register(Class)` except the JAX-RS component class is only registered as a provider of the listed extension provider or meta-provider `contracts`. All explicitly enumerated contract types must represent a class or an interface implemented or extended by the registered component. Contracts that are not `assignable from` the registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).

      Specified by:
        `register` in interface `Configurable<WebTarget>`
      Parameters:
        `componentClass` - JAX-RS component class to be configured in the scope of this configurable context.
        `contracts` - the specific extension provider or meta-provider contracts implemented by the component for which the component should be registered. Implementations MUST ignore attempts to register a component class for an empty or `null` collection of contracts via this method and SHOULD raise a warning about such event.
      Returns:
        the updated configurable context.

    - #### register

          ResteasyWebTarget register(Class<?> componentClass,
                                   Map<Class<?>,Integer> contracts)

      Description copied from interface: `Configurable`
      Register a class of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.

      This registration method provides same functionality as `Configurable.register(Class, Class[])` except that any priority specified on the registered JAX-RS component class via `javax.annotation.Priority` annotation is overridden for each extension provider contract type separately with an integer priority value specified as a value in the supplied map of [contract type, priority] pairs.

      Note that in case a priority is not applicable to a provider contract registered for the JAX-RS component, the supplied priority value is ignored for such contract.

      Specified by:
        `register` in interface `Configurable<WebTarget>`
      Parameters:
        `componentClass` - JAX-RS component class to be configured in the scope of this configurable context.
        `contracts` - map of the specific extension provider and meta-provider contracts and their associated priorities for which the JAX-RS component is registered. All contracts in the map must represent a class or an interface implemented or extended by the JAX-RS component. Contracts that are not `assignable from` the registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).
      Returns:
        the updated configurable context.

    - #### register

          ResteasyWebTarget register(Object component)

      Description copied from interface: `Configurable`
      Register an instance of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context. Implementations SHOULD warn about and ignore registrations that do not conform to the requirements of supported JAX-RS component types in the given configurable context. Any subsequent registration attempts for a component type, for which a class or instance-based registration already exists in the system MUST be rejected by the JAX-RS implementation and a warning SHOULD be raised to inform the user about the rejected registration. The registered JAX-RS component is registered as a contract provider of all the recognized JAX-RS or implementation-specific extension contracts including meta-provider contracts, such as `Feature` or `DynamicFeature`.

      As opposed to components registered via `Configurable.register(Class)` method, the lifecycle of providers registered using this instance-based `register(...)` is not managed by JAX-RS runtime. The same registered component instance is used during the whole lifespan of the configurable context. Fields and properties of all registered JAX-RS component instances are injected with their declared dependencies (see `Context`) by the JAX-RS runtime prior to use.

      Specified by:
        `register` in interface `Configurable<WebTarget>`
      Parameters:
        `component` - JAX-RS component instance to be configured in the scope of this configurable context.
      Returns:
        the updated configurable context.

    - #### register

          ResteasyWebTarget register(Object component,
                                   int priority)

      Description copied from interface: `Configurable`
      Register an instance of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.

      This registration method provides the same functionality as `Configurable.register(Object)` except that any priority specified on the registered JAX-RS component class via `javax.annotation.Priority` annotation is overridden with the supplied `priority` value.

      Note that in case the priority is not applicable to a particular provider contract implemented by the class of the registered component, the supplied `priority` value will be ignored for that contract.

      Specified by:
        `register` in interface `Configurable<WebTarget>`
      Parameters:
        `component` - JAX-RS component instance to be configured in the scope of this configurable context.
        `priority` - the overriding priority for the registered component and all the provider contracts the component implements.
      Returns:
        the updated configurable context.

    - #### register

          ResteasyWebTarget register(Object component,
                                   Class<?>... contracts)

      Description copied from interface: `Configurable`
      Register an instance of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.

      This registration method provides the same functionality as `Configurable.register(Object)` except the JAX-RS component class is only registered as a provider of the listed extension provider or meta-provider `contracts`. All explicitly enumerated contract types must represent a class or an interface implemented or extended by the registered component. Contracts that are not `assignable from` the registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).

      Specified by:
        `register` in interface `Configurable<WebTarget>`
      Parameters:
        `component` - JAX-RS component instance to be configured in the scope of this configurable context.
        `contracts` - the specific extension provider or meta-provider contracts implemented by the component for which the component should be registered. Implementations MUST ignore attempts to register a component class for an empty or `null` collection of contracts via this method and SHOULD raise a warning about such event.
      Returns:
        the updated configurable context.

    - #### register

          ResteasyWebTarget register(Object component,
                                   Map<Class<?>,Integer> contracts)

      Description copied from interface: `Configurable`
      Register an instance of a custom JAX-RS component (such as an extension provider or a `feature` meta-provider) to be instantiated and used in the scope of this configurable context.

      This registration method provides same functionality as `Configurable.register(Object, Class[])` except that any priority specified on the registered JAX-RS component class via `javax.annotation.Priority` annotation is overridden for each extension provider contract type separately with an integer priority value specified as a value in the supplied map of [contract type, priority] pairs.

      Note that in case a priority is not applicable to a provider contract registered for the JAX-RS component, the supplied priority value is ignored for such contract.

      Specified by:
        `register` in interface `Configurable<WebTarget>`
      Parameters:
        `component` - JAX-RS component instance to be configured in the scope of this configurable context.
        `contracts` - map of the specific extension provider and meta-provider contracts and their associated priorities for which the JAX-RS component is registered. All contracts in the map must represent a class or an interface implemented or extended by the JAX-RS component. Contracts that are not `assignable from` the registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).
      Returns:
        the updated configurable context.

Copyright © 2014. All Rights Reserved.