org.glassfish.jersey.model.internal
Class CommonConfig

java.lang.Object
  extended by org.glassfish.jersey.model.internal.CommonConfig
All Implemented Interfaces:
javax.ws.rs.core.Configurable<javax.ws.rs.core.FeatureContext>, javax.ws.rs.core.Configuration, javax.ws.rs.core.FeatureContext, ExtendedConfig
Direct Known Subclasses:
ImmutableCommonConfig

public class CommonConfig
extends Object
implements javax.ws.rs.core.FeatureContext, ExtendedConfig

Common immutable Configuration implementation for server and client.

Author:
Michal Gajdos (michal.gajdos at oracle.com), Marek Potociar (marek.potociar at oracle.com)

Constructor Summary
CommonConfig(CommonConfig config)
          Copy constructor.
CommonConfig(javax.ws.rs.RuntimeType type, jersey.repackaged.com.google.common.base.Predicate<ContractProvider> registrationStrategy)
          Create a new RuntimeConfig instance.
 
Method Summary
 CommonConfig addProperties(Map<String,?> properties)
          Add properties to ResourceConfig.
 void configureAutoDiscoverableProviders(org.glassfish.hk2.api.ServiceLocator locator)
          Configure auto-discoverables in the HK2 service locator.
 void configureMetaProviders(org.glassfish.hk2.api.ServiceLocator locator)
          Configure HK2 binders in the HK2 service locator and enable JAX-RS features.
 boolean equals(Object o)
           
 Set<Class<?>> getClasses()
           
 ComponentBag getComponentBag()
          Returns a ComponentBag instance associated with the configuration.
 ExtendedConfig getConfiguration()
           
 Map<Class<?>,Integer> getContracts(Class<?> componentClass)
           
 Set<Object> getInstances()
           
protected  Inflector<ContractProvider.Builder,ContractProvider> getModelEnhancer(Class<?> componentClass)
          An extension point that provides a way how to define a custom enhancement/update operation of a contract provider model registration being produced for a given component class.
 Map<String,Object> getProperties()
           
 Object getProperty(String name)
           
 Collection<String> getPropertyNames()
           
 javax.ws.rs.RuntimeType getRuntimeType()
           
 int hashCode()
           
 boolean isEnabled(Class<? extends javax.ws.rs.core.Feature> featureClass)
           
 boolean isEnabled(javax.ws.rs.core.Feature feature)
           
 boolean isProperty(String name)
          Get the value of the property with a given name converted to boolean.
 boolean isRegistered(Class<?> componentClass)
           
 boolean isRegistered(Object component)
           
 CommonConfig loadFrom(javax.ws.rs.core.Configuration config)
          Load the internal configuration state from an externally provided configuration state.
 CommonConfig property(String name, Object value)
           
 CommonConfig register(Class<?> componentClass)
           
 CommonConfig register(Class<?> componentClass, Class<?>... contracts)
           
 CommonConfig register(Class<?> componentClass, int bindingPriority)
           
 CommonConfig register(Class<?> componentClass, Map<Class<?>,Integer> contracts)
           
 CommonConfig register(Object component)
           
 CommonConfig register(Object component, Class<?>... contracts)
           
 CommonConfig register(Object component, int bindingPriority)
           
 CommonConfig register(Object component, Map<Class<?>,Integer> contracts)
           
 CommonConfig setProperties(Map<String,?> properties)
          Set the configured properties to the provided map of properties.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CommonConfig

public CommonConfig(javax.ws.rs.RuntimeType type,
                    jersey.repackaged.com.google.common.base.Predicate<ContractProvider> registrationStrategy)
Create a new RuntimeConfig instance.

The constructor provides a way for defining a contract provider model registration strategy. Once a registration model is built for a newly registered contract, the provided registration strategy filter is consulted whether the model should be registered or not.

Clients can use the method to cancel any contract provider model registration that does not meet the criteria of a given configuration context, such as a model that does not have any recognized contracts associated with it.

Parameters:
type - configuration runtime type.
registrationStrategy - function driving the decision (based on the introspected contract provider model) whether or not should the component class registration continue towards a successful completion.

CommonConfig

public CommonConfig(CommonConfig config)
Copy constructor.

Parameters:
config - configurable to copy class properties from.
Method Detail

getConfiguration

public ExtendedConfig getConfiguration()
Specified by:
getConfiguration in interface javax.ws.rs.core.Configurable<javax.ws.rs.core.FeatureContext>

getRuntimeType

public javax.ws.rs.RuntimeType getRuntimeType()
Specified by:
getRuntimeType in interface javax.ws.rs.core.Configuration

getProperties

public Map<String,Object> getProperties()
Specified by:
getProperties in interface javax.ws.rs.core.Configuration

getProperty

public Object getProperty(String name)
Specified by:
getProperty in interface javax.ws.rs.core.Configuration

isProperty

public boolean isProperty(String name)
Description copied from interface: ExtendedConfig
Get the value of the property with a given name converted to boolean. Returns false if the value is not convertible.

Specified by:
isProperty in interface ExtendedConfig
Parameters:
name - property name.
Returns:
boolean property value or false if the property is not convertible.

getPropertyNames

public Collection<String> getPropertyNames()
Specified by:
getPropertyNames in interface javax.ws.rs.core.Configuration

isEnabled

public boolean isEnabled(Class<? extends javax.ws.rs.core.Feature> featureClass)
Specified by:
isEnabled in interface javax.ws.rs.core.Configuration

isEnabled

public boolean isEnabled(javax.ws.rs.core.Feature feature)
Specified by:
isEnabled in interface javax.ws.rs.core.Configuration

isRegistered

public boolean isRegistered(Object component)
Specified by:
isRegistered in interface javax.ws.rs.core.Configuration

isRegistered

public boolean isRegistered(Class<?> componentClass)
Specified by:
isRegistered in interface javax.ws.rs.core.Configuration

getContracts

public Map<Class<?>,Integer> getContracts(Class<?> componentClass)
Specified by:
getContracts in interface javax.ws.rs.core.Configuration

getClasses

public Set<Class<?>> getClasses()
Specified by:
getClasses in interface javax.ws.rs.core.Configuration

getInstances

public Set<Object> getInstances()
Specified by:
getInstances in interface javax.ws.rs.core.Configuration

getComponentBag

public final ComponentBag getComponentBag()
Returns a ComponentBag instance associated with the configuration.

Returns:
a non-null component bag instance.

getModelEnhancer

protected Inflector<ContractProvider.Builder,ContractProvider> getModelEnhancer(Class<?> componentClass)
An extension point that provides a way how to define a custom enhancement/update operation of a contract provider model registration being produced for a given component class. Default implementation return an enhancer just builds the model.

Derived implementations may use this method to e.g. filter out all contracts not applicable in the given configuration context or change the model scope. The returned set of filtered contracts is then used for the actual provider registration.

Parameters:
componentClass - class of the component being registered.
Returns:
filter for the contracts that being registered for a given component class.

setProperties

public CommonConfig setProperties(Map<String,?> properties)
Set the configured properties to the provided map of properties.

Parameters:
properties - new map of properties to be set.
Returns:
updated configuration instance.

addProperties

public CommonConfig addProperties(Map<String,?> properties)
Add properties to ResourceConfig. If any of the added properties exists already, he values of the existing properties will be replaced with new values.

Parameters:
properties - properties to add.
Returns:
updated configuration instance.

property

public CommonConfig property(String name,
                             Object value)
Specified by:
property in interface javax.ws.rs.core.Configurable<javax.ws.rs.core.FeatureContext>

register

public CommonConfig register(Class<?> componentClass)
Specified by:
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.core.FeatureContext>

register

public CommonConfig register(Class<?> componentClass,
                             int bindingPriority)
Specified by:
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.core.FeatureContext>

register

public CommonConfig register(Class<?> componentClass,
                             Class<?>... contracts)
Specified by:
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.core.FeatureContext>

register

public CommonConfig register(Class<?> componentClass,
                             Map<Class<?>,Integer> contracts)
Specified by:
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.core.FeatureContext>

register

public CommonConfig register(Object component)
Specified by:
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.core.FeatureContext>

register

public CommonConfig register(Object component,
                             int bindingPriority)
Specified by:
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.core.FeatureContext>

register

public CommonConfig register(Object component,
                             Class<?>... contracts)
Specified by:
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.core.FeatureContext>

register

public CommonConfig register(Object component,
                             Map<Class<?>,Integer> contracts)
Specified by:
register in interface javax.ws.rs.core.Configurable<javax.ws.rs.core.FeatureContext>

loadFrom

public CommonConfig 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. If the features, auto-discoverables of given config has been already configured then this method will make sure to not configure them for the second time.

Parameters:
config - external configuration state to replace the configuration of this configurable instance.
Returns:
the updated common configuration instance.

configureAutoDiscoverableProviders

public void configureAutoDiscoverableProviders(org.glassfish.hk2.api.ServiceLocator locator)
Configure auto-discoverables in the HK2 service locator.

Parameters:
locator - locator in which the auto-discoverables should be configured.

configureMetaProviders

public void configureMetaProviders(org.glassfish.hk2.api.ServiceLocator locator)
Configure HK2 binders in the HK2 service locator and enable JAX-RS features.

Parameters:
locator - locator in which the binders and features should be configured.

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object


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