Package org.glassfish.jersey.client
Class ClientConfig
- java.lang.Object
-
- org.glassfish.jersey.client.ClientConfig
-
- All Implemented Interfaces:
javax.ws.rs.core.Configurable<ClientConfig>
,javax.ws.rs.core.Configuration
,ExtendedConfig
public class ClientConfig extends java.lang.Object implements javax.ws.rs.core.Configurable<ClientConfig>, ExtendedConfig
Jersey externalized implementation of client-side JAX-RSconfigurable
contract.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ClientConfig.RuntimeConfigConfigurator
private static class
ClientConfig.State
Default encapsulation of the internal configuration state.
-
Field Summary
Fields Modifier and Type Field Description private ClientConfig.State
state
Internal configuration state.
-
Constructor Summary
Constructors Modifier Constructor Description ClientConfig()
Construct a new Jersey configuration instance with the default features and property values.ClientConfig(java.lang.Class<?>... providerClasses)
Construct a new Jersey configuration instance and register the provided list of provider classes.ClientConfig(java.lang.Object... providers)
Construct a new Jersey configuration instance and register the provided list of provider instances.private
ClientConfig(ClientConfig.State state)
Construct a new Jersey configuration instance using the supplied state.(package private)
ClientConfig(JerseyClient parent)
Construct a new Jersey configuration instance with the features as well as property values copied from the supplied JAX-RS configuration instance.(package private)
ClientConfig(JerseyClient parent, javax.ws.rs.core.Configuration that)
Construct a new Jersey configuration instance with the features as well as property values copied from the supplied JAX-RS configuration instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
checkClient()
Check that the configuration instance has a parent client set.ClientConfig
connectorProvider(ConnectorProvider connectorProvider)
Register a custom Jersey client connector provider.boolean
equals(java.lang.Object obj)
ClientConfig
executorService(java.util.concurrent.ExecutorService executorService)
Register custom Jersey client async executor.java.util.Set<java.lang.Class<?>>
getClasses()
JerseyClient
getClient()
Get the parent Jersey client this configuration is bound to.ClientExecutor
getClientExecutor()
ClientConfig
getConfiguration()
Connector
getConnector()
Get the client transport connector.ConnectorProvider
getConnectorProvider()
Get the client transport connector provider.java.util.Map<java.lang.Class<?>,java.lang.Integer>
getContracts(java.lang.Class<?> componentClass)
java.util.concurrent.ExecutorService
getExecutorService()
Get custom client executor service.java.util.Set<java.lang.Object>
getInstances()
java.util.Map<java.lang.String,java.lang.Object>
getProperties()
java.lang.Object
getProperty(java.lang.String name)
java.util.Collection<java.lang.String>
getPropertyNames()
(package private) ClientRuntime
getRuntime()
Get the configured runtime.javax.ws.rs.RuntimeType
getRuntimeType()
java.util.concurrent.ScheduledExecutorService
getScheduledExecutorService()
Get custom client scheduled executor service.int
hashCode()
boolean
isEnabled(java.lang.Class<? extends javax.ws.rs.core.Feature> featureClass)
boolean
isEnabled(javax.ws.rs.core.Feature feature)
boolean
isProperty(java.lang.String name)
Get the value of the property with a given name converted toboolean
.boolean
isRegistered(java.lang.Class<?> componentClass)
boolean
isRegistered(java.lang.Object component)
ClientConfig
loadFrom(javax.ws.rs.core.Configuration config)
Load the internal configuration state from an externally provided configuration state.(package private) ClientConfig
preInitialize()
Pre initializes this configuration by initializingclient runtime
includingmessage body workers
.ClientConfig
property(java.lang.String name, java.lang.Object value)
ClientConfig
register(java.lang.Class<?> providerClass)
ClientConfig
register(java.lang.Class<?> providerClass, int bindingPriority)
ClientConfig
register(java.lang.Class<?> providerClass, java.lang.Class<?>... contracts)
ClientConfig
register(java.lang.Class<?> providerClass, java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
ClientConfig
register(java.lang.Object provider)
ClientConfig
register(java.lang.Object provider, int bindingPriority)
ClientConfig
register(java.lang.Object provider, java.lang.Class<?>... contracts)
ClientConfig
register(java.lang.Object provider, java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
ClientConfig
scheduledExecutorService(java.util.concurrent.ScheduledExecutorService scheduledExecutorService)
Register custom Jersey client scheduler.(package private) ClientConfig
snapshot()
Take a snapshot of the current configuration and its internal state.
-
-
-
Field Detail
-
state
private ClientConfig.State state
Internal configuration state.
-
-
Constructor Detail
-
ClientConfig
public ClientConfig()
Construct a new Jersey configuration instance with the default features and property values.
-
ClientConfig
public ClientConfig(java.lang.Class<?>... providerClasses)
Construct a new Jersey configuration instance and register the provided list of provider classes.- Parameters:
providerClasses
- provider classes to be registered with this client configuration.
-
ClientConfig
public ClientConfig(java.lang.Object... providers)
Construct a new Jersey configuration instance and register the provided list of provider instances.- Parameters:
providers
- provider instances to be registered with this client configuration.
-
ClientConfig
ClientConfig(JerseyClient parent)
Construct a new Jersey configuration instance with the features as well as property values copied from the supplied JAX-RS configuration instance.- Parameters:
parent
- parent Jersey client instance.
-
ClientConfig
ClientConfig(JerseyClient parent, javax.ws.rs.core.Configuration that)
Construct a new Jersey configuration instance with the features as well as property values copied from the supplied JAX-RS configuration instance.- Parameters:
parent
- parent Jersey client instance.that
- originalConfiguration
.
-
ClientConfig
private ClientConfig(ClientConfig.State state)
Construct a new Jersey configuration instance using the supplied state.- Parameters:
state
- to be referenced from the new configuration instance.
-
-
Method Detail
-
snapshot
ClientConfig snapshot()
Take a snapshot of the current configuration and its internal state. The returned configuration object is an new instance different from the original one, however the cloning of the internal configuration state is lazily deferred until either original or the snapshot configuration is modified for the first time since the snapshot was taken.- Returns:
- snapshot of the current configuration.
-
loadFrom
public ClientConfig loadFrom(javax.ws.rs.core.Configuration config)
Load the internal configuration state from an externally provided configuration state.Calling this method effectively replaces existing configuration state of the instance with the state represented by the externally provided configuration.
- Parameters:
config
- external configuration state to replace the configuration of this configurable instance.- Returns:
- the updated client configuration instance.
-
register
public ClientConfig register(java.lang.Class<?> providerClass)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ClientConfig>
-
register
public ClientConfig register(java.lang.Object provider)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ClientConfig>
-
register
public ClientConfig register(java.lang.Class<?> providerClass, int bindingPriority)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ClientConfig>
-
register
public ClientConfig register(java.lang.Class<?> providerClass, java.lang.Class<?>... contracts)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ClientConfig>
-
register
public ClientConfig register(java.lang.Class<?> providerClass, java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ClientConfig>
-
register
public ClientConfig register(java.lang.Object provider, int bindingPriority)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ClientConfig>
-
register
public ClientConfig register(java.lang.Object provider, java.lang.Class<?>... contracts)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ClientConfig>
-
register
public ClientConfig register(java.lang.Object provider, java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ClientConfig>
-
property
public ClientConfig property(java.lang.String name, java.lang.Object value)
- Specified by:
property
in interfacejavax.ws.rs.core.Configurable<ClientConfig>
-
getConfiguration
public ClientConfig getConfiguration()
- Specified by:
getConfiguration
in interfacejavax.ws.rs.core.Configurable<ClientConfig>
-
getRuntimeType
public javax.ws.rs.RuntimeType getRuntimeType()
- Specified by:
getRuntimeType
in interfacejavax.ws.rs.core.Configuration
-
getProperties
public java.util.Map<java.lang.String,java.lang.Object> getProperties()
- Specified by:
getProperties
in interfacejavax.ws.rs.core.Configuration
-
getProperty
public java.lang.Object getProperty(java.lang.String name)
- Specified by:
getProperty
in interfacejavax.ws.rs.core.Configuration
-
getPropertyNames
public java.util.Collection<java.lang.String> getPropertyNames()
- Specified by:
getPropertyNames
in interfacejavax.ws.rs.core.Configuration
-
isProperty
public boolean isProperty(java.lang.String name)
Description copied from interface:ExtendedConfig
Get the value of the property with a given name converted toboolean
. Returnsfalse
if the value is not convertible.- Specified by:
isProperty
in interfaceExtendedConfig
- Parameters:
name
- property name.- Returns:
boolean
property value orfalse
if the property is not convertible.
-
isEnabled
public boolean isEnabled(javax.ws.rs.core.Feature feature)
- Specified by:
isEnabled
in interfacejavax.ws.rs.core.Configuration
-
isEnabled
public boolean isEnabled(java.lang.Class<? extends javax.ws.rs.core.Feature> featureClass)
- Specified by:
isEnabled
in interfacejavax.ws.rs.core.Configuration
-
isRegistered
public boolean isRegistered(java.lang.Object component)
- Specified by:
isRegistered
in interfacejavax.ws.rs.core.Configuration
-
getContracts
public java.util.Map<java.lang.Class<?>,java.lang.Integer> getContracts(java.lang.Class<?> componentClass)
- Specified by:
getContracts
in interfacejavax.ws.rs.core.Configuration
-
isRegistered
public boolean isRegistered(java.lang.Class<?> componentClass)
- Specified by:
isRegistered
in interfacejavax.ws.rs.core.Configuration
-
getClasses
public java.util.Set<java.lang.Class<?>> getClasses()
- Specified by:
getClasses
in interfacejavax.ws.rs.core.Configuration
-
getInstances
public java.util.Set<java.lang.Object> getInstances()
- Specified by:
getInstances
in interfacejavax.ws.rs.core.Configuration
-
connectorProvider
public ClientConfig connectorProvider(ConnectorProvider connectorProvider)
Register a custom Jersey client connector provider.The registered
ConnectorProvider
instance will provide a Jersey clientConnector
for theJerseyClient
instance created with this client configuration.- Parameters:
connectorProvider
- custom connector provider. Must not benull
.- Returns:
- this client config instance.
- Throws:
java.lang.NullPointerException
- in case theconnectorProvider
isnull
.- Since:
- 2.5
-
executorService
public ClientConfig executorService(java.util.concurrent.ExecutorService executorService)
Register custom Jersey client async executor.- Parameters:
executorService
- custom executor service instance- Returns:
- this client config instance
-
scheduledExecutorService
public ClientConfig scheduledExecutorService(java.util.concurrent.ScheduledExecutorService scheduledExecutorService)
Register custom Jersey client scheduler.- Parameters:
scheduledExecutorService
- custom scheduled executor service instance- Returns:
- this client config instance
-
getConnector
public Connector getConnector()
Get the client transport connector.May return
null
if no connector has been set.- Returns:
- client transport connector or {code null} if not set.
-
getConnectorProvider
public ConnectorProvider getConnectorProvider()
Get the client transport connector provider.If no custom connector provider has been set,
default connector provider
instance is returned.- Returns:
- configured client transport connector provider.
- Since:
- 2.5
-
getExecutorService
public java.util.concurrent.ExecutorService getExecutorService()
Get custom client executor service.May return null if no custom executor service has been set.
- Returns:
- custom executor service instance or
null
if not set. - Since:
- 2.26
-
getScheduledExecutorService
public java.util.concurrent.ScheduledExecutorService getScheduledExecutorService()
Get custom client scheduled executor service.May return null if no custom scheduled executor service has been set.
- Returns:
- custom executor service instance or
null
if not set. - Since:
- 2.26
-
getRuntime
ClientRuntime getRuntime()
Get the configured runtime.- Returns:
- configured runtime.
-
getClientExecutor
public ClientExecutor getClientExecutor()
-
getClient
public JerseyClient getClient()
Get the parent Jersey client this configuration is bound to.May return
null
if no parent client has been bound.- Returns:
- bound parent Jersey client or
null
if not bound.
-
preInitialize
ClientConfig preInitialize()
Pre initializes this configuration by initializingclient runtime
includingmessage body workers
. Once this method is called no other method implementingConfigurable
should be called on this pre initialized configuration otherwise configuration will change back to uninitialized. Note that this method must be called only when configuration is attached to the client.- Returns:
- Client configuration.
-
checkClient
void checkClient() throws java.lang.IllegalStateException
Check that the configuration instance has a parent client set.- Throws:
java.lang.IllegalStateException
- in case no parent Jersey client has been bound to the configuration instance yet.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-