public class ImmutableCommonConfig extends CommonConfig
Constructor and Description |
---|
ImmutableCommonConfig(CommonConfig config)
Create new immutable copy of the original runtime configuration.
|
ImmutableCommonConfig(CommonConfig config,
String modificationErrorMessage)
Create new immutable copy of the original runtime configuration
with a custom modification error message.
|
Modifier and Type | Method and Description |
---|---|
CommonConfig |
loadFrom(Configuration config)
Load the internal configuration state from an externally provided configuration state.
|
ImmutableCommonConfig |
property(String name,
Object value)
Set the new configuration property, if already set, the existing value of the property will be updated.
|
ImmutableCommonConfig |
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. |
ImmutableCommonConfig |
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. |
ImmutableCommonConfig |
register(Class<?> componentClass,
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. |
CommonConfig |
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. |
ImmutableCommonConfig |
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. |
ImmutableCommonConfig |
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. |
ImmutableCommonConfig |
register(Object component,
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. |
CommonConfig |
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. |
ImmutableCommonConfig |
setProperties(Map<String,?> properties)
Set the configured properties to the provided map of properties.
|
addProperties, configureAutoDiscoverableProviders, configureMetaProviders, equals, getClasses, getComponentBag, getConfiguration, getContracts, getInstances, getModelEnhancer, getProperties, getProperty, getPropertyNames, getRuntimeType, hashCode, isEnabled, isEnabled, isProperty, isRegistered, isRegistered
public ImmutableCommonConfig(CommonConfig config, String modificationErrorMessage)
config
- original runtime configuration.modificationErrorMessage
- custom modification error message.public ImmutableCommonConfig(CommonConfig config)
config
- original runtime configuration.public ImmutableCommonConfig property(String name, Object value)
Configurable
null
value into a property effectively removes the property from the property bag.property
in interface Configurable<FeatureContext>
property
in class CommonConfig
name
- property name.value
- (new) property value. null
value removes the property with the given name.public ImmutableCommonConfig setProperties(Map<String,?> properties)
CommonConfig
setProperties
in class CommonConfig
properties
- new map of properties to be set.public ImmutableCommonConfig 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<FeatureContext>
register
in class CommonConfig
componentClass
- JAX-RS component class to be configured in the scope of this configurable context.public ImmutableCommonConfig register(Class<?> componentClass, int bindingPriority)
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 jakarta.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>
register
in class CommonConfig
componentClass
- JAX-RS component class to be configured in the scope of this configurable context.bindingPriority
- the overriding priority for the registered component and all the provider contracts the component
implements.public ImmutableCommonConfig 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<FeatureContext>
register
in class CommonConfig
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 CommonConfig 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 via jakarta.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>
register
in class CommonConfig
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 ImmutableCommonConfig 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<FeatureContext>
register
in class CommonConfig
component
- JAX-RS component instance to be configured in the scope of this configurable context.public ImmutableCommonConfig register(Object component, int bindingPriority)
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 jakarta.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>
register
in class CommonConfig
component
- JAX-RS component instance to be configured in the scope of this configurable context.bindingPriority
- the overriding priority for the registered component and all the provider contracts the component
implements.public ImmutableCommonConfig 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<FeatureContext>
register
in class CommonConfig
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 CommonConfig 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 via jakarta.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>
register
in class CommonConfig
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 CommonConfig loadFrom(Configuration config)
CommonConfig
loadFrom
in class CommonConfig
config
- external configuration state to replace the configuration of this configurable instance.Copyright © 2007-2024, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.