public class FeatureContextWrapper extends Object implements FeatureContext, ServiceLocatorSupplier
FeatureContext that can supply instance of
service locator.| Constructor and Description |
|---|
FeatureContextWrapper(FeatureContext context,
org.glassfish.hk2.api.ServiceLocator serviceLocator)
Create a new instance of wrapper.
|
| Modifier and Type | Method and Description |
|---|---|
Configuration |
getConfiguration()
Get a live view of an internal configuration state of this configurable instance.
|
org.glassfish.hk2.api.ServiceLocator |
getServiceLocator()
Get service locator.
|
FeatureContext |
property(String name,
Object value)
Set the new configuration property, if already set, the existing value of
the property will be updated.
|
FeatureContext |
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. |
FeatureContext |
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. |
FeatureContext |
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. |
FeatureContext |
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. |
FeatureContext |
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. |
FeatureContext |
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. |
FeatureContext |
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. |
FeatureContext |
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. |
public FeatureContextWrapper(FeatureContext context, org.glassfish.hk2.api.ServiceLocator serviceLocator)
context - Feature context instance that should be wrapped.serviceLocator - Service locator.public Configuration 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<FeatureContext>public FeatureContext property(String name, Object value)
Configurablenull value into a property
effectively removes the property from the property bag.property in interface Configurable<FeatureContext>name - property name.value - (new) property value. null value removes the property
with the given name.public FeatureContext register(Class<?> componentClass)
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<FeatureContext>componentClass - JAX-RS component class to be configured in the scope of this
configurable context.public FeatureContext register(Class<?> componentClass, int priority)
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 priority specified on the registered JAX-RS component class via
javax.annotation.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<FeatureContext>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 FeatureContext register(Class<?> componentClass, 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<FeatureContext>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 FeatureContext register(Class<?> componentClass, 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 priority specified on the registered JAX-RS component class via
javax.annotation.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<FeatureContext>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 FeatureContext register(Object component)
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<FeatureContext>component - JAX-RS component instance to be configured in the scope of this
configurable context.public FeatureContext register(Object component, int priority)
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 priority specified on the registered JAX-RS component class via
javax.annotation.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<FeatureContext>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 FeatureContext register(Object component, 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<FeatureContext>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 FeatureContext register(Object component, 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 priority specified on the registered JAX-RS component class via
javax.annotation.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<FeatureContext>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 org.glassfish.hk2.api.ServiceLocator getServiceLocator()
ServiceLocatorSuppliergetServiceLocator in interface ServiceLocatorSupplierCopyright © 2007-2014, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.