javax.ws.rs.client

## Interface Client

- All Superinterfaces:
    Configurable<Client>

      public interface Client
      extends Configurable<Client>

  Client is the main entry point to the fluent API used to build and execute client requests in order to consume responses returned.

  Clients are heavy-weight objects that manage the client-side communication infrastructure. Initialization as well as disposal of a `Client` instance may be a rather expensive operation. It is therefore advised to construct only a small number of `Client` instances in the application. Client instances must be `properly closed` before being disposed to avoid leaking resources.
  Since:
    2.0
  Author:
    Marek Potociar
  See Also:
    `Configurable`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Close client instance and all it's associated resources.
    `HostnameVerifier` | `getHostnameVerifier()` Get the hostname verifier configured in the client or `null` in case no hostname verifier has been configured.
    `SSLContext` | `getSslContext()` Get the SSL context configured to be used with the current client run-time.
    `Invocation.Builder` | `invocation(Link link)` Build an invocation builder from a link.
    `WebTarget` | `target(Link link)` Build a new web resource target.
    `WebTarget` | `target(String uri)` Build a new web resource target.
    `WebTarget` | `target(URI uri)` Build a new web resource target.
    `WebTarget` | `target(UriBuilder uriBuilder)` Build a new web resource target.

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

      `getConfiguration, property, register, register, register, register, register, register, register, register`

- - ### Method Detail

    - #### close

          void close()

      Close client instance and all it's associated resources. Subsequent calls have no effect and are ignored. Once the client is closed, invoking any other method on the client instance would result in an `IllegalStateException` being thrown.

      Calling this method effectively invalidates all `resource targets` produced by the client instance. Invoking any method on such targets once the client is closed would result in an `IllegalStateException` being thrown.

    - #### target

          WebTarget target(String uri)

      Build a new web resource target.
      Parameters:
        `uri` - web resource URI. May contain template parameters. Must not be `null`.
      Returns:
        web resource target bound to the provided URI.
      Throws:
        `IllegalArgumentException` - in case the supplied string is not a valid URI template.
        `NullPointerException` - in case the supplied argument is `null`.

    - #### target

          WebTarget target(URI uri)

      Build a new web resource target.
      Parameters:
        `uri` - web resource URI. Must not be `null`.
      Returns:
        web resource target bound to the provided URI.
      Throws:
        `NullPointerException` - in case the supplied argument is `null`.

    - #### target

          WebTarget target(UriBuilder uriBuilder)

      Build a new web resource target.
      Parameters:
        `uriBuilder` - web resource URI represented as URI builder. Must not be `null`.
      Returns:
        web resource target bound to the provided URI.
      Throws:
        `NullPointerException` - in case the supplied argument is `null`.

    - #### target

          WebTarget target(Link link)

      Build a new web resource target.
      Parameters:
        `link` - link to a web resource. Must not be `null`.
      Returns:
        web resource target bound to the linked web resource.
      Throws:
        `NullPointerException` - in case the supplied argument is `null`.

    - #### invocation

          Invocation.Builder invocation(Link link)

      Build an invocation builder from a link. It uses the URI and the type of the link to initialize the invocation builder. The type is used as the initial value for the HTTP Accept header, if present.

      Parameters:
        `link` - link to build invocation from. Must not be `null`.
      Returns:
        newly created invocation builder.
      Throws:
        `NullPointerException` - in case link is `null`.

    - #### getSslContext

          SSLContext getSslContext()

      Get the SSL context configured to be used with the current client run-time.
      Returns:
        SSL context configured to be used with the current client run-time.

    - #### getHostnameVerifier

          HostnameVerifier getHostnameVerifier()

      Get the hostname verifier configured in the client or `null` in case no hostname verifier has been configured.
      Returns:
        client hostname verifier or `null` if not set.

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