public class ResteasyClient extends Object implements Client
Modifier and Type | Field and Description |
---|---|
protected ExecutorService |
asyncInvocationExecutor |
protected boolean |
cleanupExecutor |
protected boolean |
closed |
protected ClientConfiguration |
configuration |
protected ClientHttpEngine |
httpEngine |
Modifier and Type | Method and Description |
---|---|
void |
abortIfClosed() |
ExecutorService |
asyncInvocationExecutor() |
void |
close()
Close client instance and all it's associated resources.
|
Configuration |
getConfiguration()
Get a live view of an internal configuration state of this configurable instance.
|
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.
|
ClientHttpEngine |
httpEngine() |
Invocation.Builder |
invocation(Link link)
Build an invocation builder from a link.
|
boolean |
isClosed() |
ResteasyClient |
property(String name,
Object value)
Set the new configuration property, if already set, the existing value of
the property will be updated.
|
ResteasyClient |
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. |
ResteasyClient |
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. |
ResteasyClient |
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. |
ResteasyClient |
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. |
ResteasyClient |
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. |
ResteasyClient |
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. |
ResteasyClient |
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. |
ResteasyClient |
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 |
target(Link link)
Build a new web resource target.
|
ResteasyWebTarget |
target(String uri)
Build a new web resource target.
|
ResteasyWebTarget |
target(URI uri)
Build a new web resource target.
|
ResteasyWebTarget |
target(UriBuilder uriBuilder)
Build a new web resource target.
|
protected volatile ClientHttpEngine httpEngine
protected volatile ExecutorService asyncInvocationExecutor
protected ClientConfiguration configuration
protected boolean closed
protected boolean cleanupExecutor
public ClientHttpEngine httpEngine()
public ExecutorService asyncInvocationExecutor()
public void abortIfClosed()
public boolean isClosed()
public void close()
Client
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.public Configuration getConfiguration()
Configurable
Configurable
instance will be reflected
in the returned Configuration
instance.
The returned Configuration
instance and the collection data it provides are not
thread-safe wrt. modification made using methods on the parent configurable object.
getConfiguration
in interface Configurable<Client>
public SSLContext getSslContext()
Client
getSslContext
in interface Client
public HostnameVerifier getHostnameVerifier()
Client
null
in case
no hostname verifier has been configured.getHostnameVerifier
in interface Client
null
if not set.public ResteasyClient property(String name, Object value)
Configurable
null
value into a property
effectively removes the property from the property bag.property
in interface Configurable<Client>
name
- property name.value
- (new) property value. null
value removes the property
with the given name.public ResteasyClient register(Class<?> componentClass)
Configurable
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.
register
in interface Configurable<Client>
componentClass
- JAX-RS component class to be configured in the scope of this
configurable context.public ResteasyClient register(Class<?> componentClass, int priority)
Configurable
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
@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.
register
in interface Configurable<Client>
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.public ResteasyClient register(Class<?> componentClass, Class<?>... contracts)
Configurable
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).
register
in interface Configurable<Client>
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.public ResteasyClient register(Class<?> componentClass, Map<Class<?>,Integer> contracts)
Configurable
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 using
@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.
register
in interface Configurable<Client>
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).public ResteasyClient register(Object component)
Configurable
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.
register
in interface Configurable<Client>
component
- JAX-RS component instance to be configured in the scope of this
configurable context.public ResteasyClient register(Object component, int priority)
Configurable
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
@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.
register
in interface Configurable<Client>
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.public ResteasyClient register(Object component, Class<?>... contracts)
Configurable
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).
register
in interface Configurable<Client>
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.public ResteasyClient register(Object component, Map<Class<?>,Integer> contracts)
Configurable
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 using
@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.
register
in interface Configurable<Client>
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).public ResteasyWebTarget target(String uri) throws IllegalArgumentException, NullPointerException
Client
target
in interface Client
uri
- web resource URI. May contain template parameters. Must not be null
.IllegalArgumentException
- in case the supplied string is not a valid URI template.NullPointerException
- in case the supplied argument is null
.public ResteasyWebTarget target(URI uri) throws NullPointerException
Client
target
in interface Client
uri
- web resource URI. Must not be null
.NullPointerException
- in case the supplied argument is null
.public ResteasyWebTarget target(UriBuilder uriBuilder) throws NullPointerException
Client
target
in interface Client
uriBuilder
- web resource URI represented as URI builder. Must not be null
.NullPointerException
- in case the supplied argument is null
.public ResteasyWebTarget target(Link link) throws NullPointerException
Client
target
in interface Client
link
- link to a web resource. Must not be null
.NullPointerException
- in case the supplied argument is null
.public Invocation.Builder invocation(Link link) throws NullPointerException, IllegalArgumentException
Client
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.
invocation
in interface Client
link
- link to build invocation from. Must not be null
.NullPointerException
- in case link is null
.IllegalArgumentException
Copyright © 2017 JBoss by Red Hat. All rights reserved.