public class JerseyInvocation extends Object implements Invocation
JAX-RS client-side
request invocation contract.| Modifier and Type | Class and Description |
|---|---|
static class |
JerseyInvocation.Builder
Jersey-specific
client invocation builder. |
| Modifier and Type | Method and Description |
|---|---|
ClientConfig |
getConfiguration()
Get a live view of an internal configuration state of this configurable instance.
|
Response |
invoke()
Synchronously invoke the request and receive a response back.
|
<T> T |
invoke(Class<T> responseType)
Synchronously invoke the request and receive a response of the specified
type back.
|
<T> T |
invoke(GenericType<T> responseType)
Synchronously invoke the request and receive a response of the specified
generic type back.
|
JerseyInvocation |
preInitialize()
Pre initializes the
configuration of this invocation in order to improve
performance during the first request. |
JerseyInvocation |
register(Class<?> providerClass)
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. |
JerseyInvocation |
register(Class<?> providerClass,
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. |
JerseyInvocation |
register(Class<?> providerClass,
int bindingPriority)
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. |
JerseyInvocation |
register(Class<?> providerClass,
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. |
JerseyInvocation |
register(Object provider)
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. |
JerseyInvocation |
register(Object provider,
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. |
JerseyInvocation |
register(Object provider,
int bindingPriority)
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. |
JerseyInvocation |
register(Object provider,
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. |
JerseyInvocation |
replaceWith(Configuration config)
Replace the existing configuration state with an externally provided configuration state.
|
JerseyInvocation |
setProperty(String name,
Object value)
Set the new configuration property, if already set, the existing value of
the property will be updated.
|
Future<Response> |
submit()
Submit the request for an asynchronous invocation and receive a future
response back.
|
<T> Future<T> |
submit(Class<T> responseType)
Submit the request for an asynchronous invocation and receive a future
response of the specified type back.
|
<T> Future<T> |
submit(GenericType<T> responseType)
Submit the request for an asynchronous invocation and receive a future
response of the specified generic type back.
|
<T> Future<T> |
submit(InvocationCallback<T> callback)
Submit the request for an asynchronous invocation and register an
InvocationCallback to process the future result of the invocation. |
public Response invoke() throws ClientException, WebApplicationException
Invocationinvoke in interface Invocationresponse object as a result of the request
invocation.ClientException - in case the invocation processing has failed.WebApplicationExceptionpublic <T> T invoke(Class<T> responseType) throws ClientException, WebApplicationException
Invocationinvoke in interface InvocationT - response typeresponseType - Java type the response should be converted into.ClientException - in case the invocation processing has failed.WebApplicationException - in case the response status code of the response
returned by the server is not
successful.public <T> T invoke(GenericType<T> responseType) throws ClientException, WebApplicationException
Invocationinvoke in interface InvocationT - generic response typeresponseType - type literal representing a generic Java type the
response should be converted into.ClientException - in case the invocation processing has failed.WebApplicationException - in case the response status code of the response
returned by the server is not
successful.public Future<Response> submit()
Invocation
Note that calling the Future.get() method on the returned
Future instance may throw an ExecutionException
that wraps an ClientException thrown in case of an invocation processing
failure.
submit in interface Invocationresponse object as a result of the request
invocation.public <T> Future<T> submit(Class<T> responseType)
Invocation
Note that calling the Future.get() method on the returned
Future instance may throw an ExecutionException
that wraps either an ClientException thrown in case of an invocation processing
failure or a WebApplicationException or one of its subclasses thrown in case the
received response status code is not successful and the specified response type is not Response.
submit in interface InvocationT - response typeresponseType - Java type the response should be converted into.public <T> Future<T> submit(GenericType<T> responseType)
Invocation
Note that calling the Future.get() method on the returned
Future instance may throw an ExecutionException
that wraps either an ClientException thrown in case of an invocation processing
failure or a WebApplicationException or one of its subclasses thrown in case the
received response status code is not successful and the specified response type is not Response.
submit in interface InvocationT - generic response typeresponseType - type literal representing a generic Java type the
response should be converted into.public <T> Future<T> submit(InvocationCallback<T> callback)
InvocationInvocationCallback to process the future result of the invocation.
Note that calling the Future.get() method on the returned
Future instance may throw an ExecutionException
that wraps either an ClientException thrown in case of an invocation processing
failure or a WebApplicationException or one of its subclasses thrown in case the
received response status code is not successful and the generic type of the supplied response callback is not
Response.
submit in interface InvocationT - response typecallback - invocation callback for asynchronous processing of the
request invocation result.public JerseyInvocation setProperty(String name, Object value)
Configurablenull value into a property
effectively removes the property from the property bag.setProperty in interface Configurable<Invocation>name - property name.value - (new) property value. null value removes the property
with the given name.public JerseyInvocation register(Class<?> providerClass)
Configurablefeature 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<Invocation>providerClass - JAX-RS component class to be configured in the scope of this
configurable context.public JerseyInvocation register(Class<?> providerClass, int bindingPriority)
Configurablefeature 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 binding priority specified on the registered JAX-RS component class via
@BindingPriority annotation is overridden
with the supplied bindingPriority value.
Note that in case the binding priority is not applicable to a particular
provider contract implemented by the class of the registered component, the supplied
bindingPriority value will be ignored for that contract.
register in interface Configurable<Invocation>providerClass - JAX-RS component class to be configured in the scope of this
configurable context.bindingPriority - the overriding binding priority for the registered component
and all the provider contracts the component implements.public JerseyInvocation register(Class<?> providerClass, Class<?>... contracts)
Configurablefeature 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<Invocation>providerClass - 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 JerseyInvocation register(Class<?> providerClass, Map<Class<?>,Integer> contracts)
Configurablefeature 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 binding priority specified on the registered JAX-RS component class using
@BindingPriority annotation is overridden
for each extension provider contract type separately with an integer binding priority value
specified as a value in the supplied map of [contract type, priority] pairs.
Note that in case a binding priority is not applicable to a provider contract registered for the JAX-RS component, the supplied binding priority value is ignored for such contract.
register in interface Configurable<Invocation>providerClass - 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 binding 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 JerseyInvocation register(Object provider)
Configurablefeature 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<Invocation>provider - JAX-RS component instance to be configured in the scope of this
configurable context.public JerseyInvocation register(Object provider, int bindingPriority)
Configurablefeature 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 binding priority specified on the registered JAX-RS component class via
@BindingPriority annotation is overridden
with the supplied bindingPriority value.
Note that in case the binding priority is not applicable to a particular
provider contract implemented by the class of the registered component, the supplied
bindingPriority value will be ignored for that contract.
register in interface Configurable<Invocation>provider - JAX-RS component instance to be configured in the scope of this
configurable context.bindingPriority - the overriding binding priority for the registered component
and all the provider contracts the component implements.public JerseyInvocation register(Object provider, Class<?>... contracts)
Configurablefeature 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<Invocation>provider - 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 JerseyInvocation register(Object provider, Map<Class<?>,Integer> contracts)
Configurablefeature 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 binding priority specified on the registered JAX-RS component class using
@BindingPriority annotation is overridden
for each extension provider contract type separately with an integer binding priority value
specified as a value in the supplied map of [contract type, priority] pairs.
Note that in case a binding priority is not applicable to a provider contract registered for the JAX-RS component, the supplied binding priority value is ignored for such contract.
register in interface Configurable<Invocation>provider - 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 binding 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 JerseyInvocation replaceWith(Configuration config)
ConfigurablereplaceWith in interface Configurable<Invocation>config - external configuration state to replace the configuration of this configurable
instance.public ClientConfig getConfiguration()
ConfigurableConfigurable 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<Invocation>public JerseyInvocation preInitialize()
configuration of this invocation in order to improve
performance during the first request.
Once this method is called no other method implementing Configurable should be called
on this pre initialized invocation builder otherwise invocation will change back to uninitialized.Copyright © 2007-2012 Oracle Corporation. All Rights Reserved. Use is subject to license terms.