Class ResourceConfig
- java.lang.Object
-
- jakarta.ws.rs.core.Application
-
- org.glassfish.jersey.server.ResourceConfig
-
- All Implemented Interfaces:
Configurable<ResourceConfig>,Configuration,ExtendedConfig,ServerConfig
public class ResourceConfig extends Application implements Configurable<ResourceConfig>, ServerConfig
The resource configuration for configuring a web application.- Author:
- Paul Sandoz, Martin Matula, Michal Gajdos, Marek Potociar
-
-
Constructor Summary
Constructors Constructor Description ResourceConfig()Create a new resource configuration without any custom properties or resource and provider classes.ResourceConfig(Class<?>... classes)Create a new resource configuration initialized with a given set of resource/provider classes.ResourceConfig(Set<Class<?>> classes)Create a new resource configuration initialized with a given set of resource/provider classes.ResourceConfig(ResourceConfig original)Create a defensive resource configuration copy initialized with a givenResourceConfig.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ResourceConfigaddProperties(Map<String,Object> properties)Add properties toResourceConfig.ResourceConfigfiles(boolean recursive, String... files)Adds array of file and directory names to scan for components.ResourceConfigfiles(String... files)Adds array of file and directory names to scan for components.static ResourceConfigforApplication(Application application)Returns aResourceConfiginstance for the supplied application.static ResourceConfigforApplicationClass(Class<? extends Application> applicationClass)Returns aResourceConfiginstance wrapping the application of the supplied class.static ResourceConfigforApplicationClass(Class<? extends Application> applicationClass, Set<Class<?>> defaultClasses)Returns aResourceConfiginstance wrapping the application of the supplied class.ApplicationgetApplication()Returns JAX-RS application corresponding with this ResourceConfig.StringgetApplicationName()Get the name of the Jersey application.StringgetApplicationPath()Returns encoded value ofApplicationPathannotation of the Application corresponding with this ResourceConfig ornullwhen the annotation is not present.Set<Class<?>>getClasses()Get a set of root resource, provider andfeatureclasses.ClassLoadergetClassLoader()Get resource and provider class loader.ServerConfiggetConfiguration()Get a live view of an internal configuration state of this configurable instance.Map<Class<?>,Integer>getContracts(Class<?> componentClass)Get the extension contract registration information for a component of a given class.Set<Object>getInstances()Get the immutable set of registered JAX-RS component (such as provider orfeature) instances to be utilized by the configurable instance.Map<String,Object>getProperties()Get a map of custom application-wide properties.ObjectgetProperty(String name)Get the value for the property with a given name.Collection<String>getPropertyNames()Returns an immutablecollectioncontaining the property names available within the context of the current configuration instance.Set<Resource>getResources()Get programmatically modeled resources.RuntimeTypegetRuntimeType()Get the runtime type of this configuration context.Set<Object>getSingletons()Get a set of root resource, provider andfeatureinstances.booleanisEnabled(Feature feature)Check if a particularfeatureinstance has been previously enabled in the runtime configuration context.booleanisEnabled(Class<? extends Feature> featureClass)Check if afeatureinstance offeatureClassclass has been previously enabled in the runtime configuration context.booleanisProperty(String name)Get the value of the property with a given name converted toboolean.booleanisRegistered(Class<?> componentClass)Check if a JAX-RS component of the suppliedcomponentClassclass has been previously registered in the runtime configuration context.booleanisRegistered(Object component)Check if a particular JAX-RScomponentinstance (such as providers orfeatures) has been previously registered in the runtime configuration context.ResourceConfigpackages(boolean recursive, ClassLoader classLoader, String... packages)Adds array of package names which will be used to scan for components.ResourceConfigpackages(boolean recursive, String... packages)Adds array of package names which will be used to scan for components.ResourceConfigpackages(String... packages)Adds array of package names which will be used to scan for components.ResourceConfigproperty(String name, Object value)Set the new configuration property, if already set, the existing value of the property will be updated.ResourceConfigregister(Class<?> componentClass)Register a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.ResourceConfigregister(Class<?> componentClass, int bindingPriority)Register a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.ResourceConfigregister(Class<?> componentClass, Class<?>... contracts)Register a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.ResourceConfigregister(Class<?> componentClass, Map<Class<?>,Integer> contracts)Register a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.ResourceConfigregister(Object component)Register an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.ResourceConfigregister(Object component, int bindingPriority)Register an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.ResourceConfigregister(Object component, Class<?>... contracts)Register an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.ResourceConfigregister(Object component, Map<Class<?>,Integer> contracts)Register an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-provider) to be instantiated and used in the scope of this configurable context.ResourceConfigregisterClasses(Class<?>... classes)Register annotated JAX-RS resource, JAX-RS or Jersey contract provider or JAX-RS feature in theResourceConfig.ResourceConfigregisterClasses(Set<Class<?>> classes)Register annotated JAX-RS resource, JAX-RS or Jersey contract provider or JAX-RS feature in theResourceConfig.ResourceConfigregisterFinder(ResourceFinder resourceFinder)Add aResourceFindertoResourceConfig.ResourceConfigregisterInstances(Object... instances)Register annotated JAX-RS resource, JAX-RS or Jersey contract provider, JAX-RS feature,Jersey Binderinstances (singletons) in theResourceConfig.ResourceConfigregisterInstances(Set<Object> instances)Register annotated JAX-RS resource, JAX-RS or Jersey contract provider, JAX-RS featureJersey Binderinstances (singletons) in theResourceConfig.ResourceConfigregisterResources(Set<Resource> resources)Register new resource models in theResourceConfig.ResourceConfigregisterResources(Resource... resources)Register new programmatic resource models in theResourceConfig.ResourceConfigsetApplicationName(String applicationName)Set the name of the application.ResourceConfigsetClassLoader(ClassLoader classLoader)SetClassLoaderwhich will be used for resource discovery.ResourceConfigsetProperties(Map<String,?> properties)Set new configuration properties replacing all previously set properties.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jakarta.ws.rs.core.Configuration
hasProperty
-
-
-
-
Constructor Detail
-
ResourceConfig
public ResourceConfig()
Create a new resource configuration without any custom properties or resource and provider classes.
-
ResourceConfig
public ResourceConfig(Set<Class<?>> classes)
Create a new resource configuration initialized with a given set of resource/provider classes.- Parameters:
classes- application-specific resource and/or provider classes.
-
ResourceConfig
public ResourceConfig(Class<?>... classes)
Create a new resource configuration initialized with a given set of resource/provider classes.- Parameters:
classes- application-specific resource and/or provider classes.
-
ResourceConfig
public ResourceConfig(ResourceConfig original)
Create a defensive resource configuration copy initialized with a givenResourceConfig.- Parameters:
original- resource configuration to createAndInitialize a defensive copy from.
-
-
Method Detail
-
forApplication
public static ResourceConfig forApplication(Application application)
Returns aResourceConfiginstance for the supplied application. If the application is an instance ofResourceConfigthe method returns defensive copy of the resource config. Otherwise it creates a newResourceConfigfrom the application.- Parameters:
application- Application to provide theResourceConfiginstance for.- Returns:
- ResourceConfig instance for the supplied application.
-
forApplicationClass
public static ResourceConfig forApplicationClass(Class<? extends Application> applicationClass)
Returns aResourceConfiginstance wrapping the application of the supplied class.- Parameters:
applicationClass- Class representing a JAX-RS application.- Returns:
- ResourceConfig wrapping the JAX-RS application defined by the supplied class.
-
forApplicationClass
public static ResourceConfig forApplicationClass(Class<? extends Application> applicationClass, Set<Class<?>> defaultClasses)
Returns aResourceConfiginstance wrapping the application of the supplied class. This method provides an option of supplying the set of classes that should be returned fromgetClasses()method if the application defined by the supplied application class returns empty sets fromApplication.getClasses()andApplication.getSingletons()methods.- Parameters:
applicationClass- Class representing a JAX-RS application.defaultClasses- Default set of classes that should be returned fromgetClasses()if the underlying application does not provide any classes and singletons.- Returns:
- ResourceConfig wrapping the JAX-RS application defined by the supplied class.
-
addProperties
public final ResourceConfig addProperties(Map<String,Object> properties)
Add properties toResourceConfig. If any of the added properties exists already, old values of existing properties will be replaced by new values.- Parameters:
properties- properties to add.- Returns:
- updated resource configuration instance.
-
setProperties
public ResourceConfig setProperties(Map<String,?> properties)
Set new configuration properties replacing all previously set properties.- Parameters:
properties- new set of configuration properties. The content of the map will replace any existing properties set on the configuration instance.- Returns:
- the updated configuration instance.
-
property
public ResourceConfig property(String name, Object value)
Description copied from interface:ConfigurableSet the new configuration property, if already set, the existing value of the property will be updated. Setting anullvalue into a property effectively removes the property from the property bag.- Specified by:
propertyin interfaceConfigurable<ResourceConfig>- Parameters:
name- property name.value- (new) property value.nullvalue removes the property with the given name.- Returns:
- the updated configurable instance.
-
register
public ResourceConfig register(Class<?> componentClass)
Description copied from interface:ConfigurableRegister a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 asFeatureorDynamicFeature.As opposed to component instances registered via
Configurable.register(Object)method, the lifecycle of components registered using this class-basedregister(...)method is fully managed by the JAX-RS implementation or any underlying IoC container supported by the implementation.- Specified by:
registerin interfaceConfigurable<ResourceConfig>- Parameters:
componentClass- JAX-RS component class to be configured in the scope of this configurable context.- Returns:
- the updated configurable context.
-
register
public ResourceConfig register(Class<?> componentClass, int bindingPriority)
Description copied from interface:ConfigurableRegister a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 viajakarta.annotation.Priorityannotation is overridden with the suppliedpriorityvalue.Note that in case the priority is not applicable to a particular provider contract implemented by the class of the registered component, the supplied
priorityvalue will be ignored for that contract.- Specified by:
registerin interfaceConfigurable<ResourceConfig>- Parameters:
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.- Returns:
- the updated configurable context.
-
register
public ResourceConfig register(Class<?> componentClass, Class<?>... contracts)
Description copied from interface:ConfigurableRegister a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-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-providercontracts. All explicitly enumerated contract types must represent a class or an interface implemented or extended by the registered component. Contracts that are notassignable fromthe registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).- Specified by:
registerin interfaceConfigurable<ResourceConfig>- Parameters:
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 ornullcollection of contracts via this method and SHOULD raise a warning about such event.- Returns:
- the updated configurable context.
-
register
public ResourceConfig register(Class<?> componentClass, Map<Class<?>,Integer> contracts)
Description copied from interface:ConfigurableRegister a class of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 viajakarta.annotation.Priorityannotation 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.
- Specified by:
registerin interfaceConfigurable<ResourceConfig>- Parameters:
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 notassignable fromthe registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).- Returns:
- the updated configurable context.
-
register
public ResourceConfig register(Object component)
Description copied from interface:ConfigurableRegister an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 asFeatureorDynamicFeature.As opposed to components registered via
Configurable.register(Class)method, the lifecycle of providers registered using this instance-basedregister(...)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 (seeContext) by the JAX-RS runtime prior to use.- Specified by:
registerin interfaceConfigurable<ResourceConfig>- Parameters:
component- JAX-RS component instance to be configured in the scope of this configurable context.- Returns:
- the updated configurable context.
-
register
public ResourceConfig register(Object component, int bindingPriority)
Description copied from interface:ConfigurableRegister an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 viajakarta.annotation.Priorityannotation is overridden with the suppliedpriorityvalue.Note that in case the priority is not applicable to a particular provider contract implemented by the class of the registered component, the supplied
priorityvalue will be ignored for that contract.- Specified by:
registerin interfaceConfigurable<ResourceConfig>- Parameters:
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.- Returns:
- the updated configurable context.
-
register
public ResourceConfig register(Object component, Class<?>... contracts)
Description copied from interface:ConfigurableRegister an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-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-providercontracts. All explicitly enumerated contract types must represent a class or an interface implemented or extended by the registered component. Contracts that are notassignable fromthe registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).- Specified by:
registerin interfaceConfigurable<ResourceConfig>- Parameters:
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 ornullcollection of contracts via this method and SHOULD raise a warning about such event.- Returns:
- the updated configurable context.
-
register
public ResourceConfig register(Object component, Map<Class<?>,Integer> contracts)
Description copied from interface:ConfigurableRegister an instance of a custom JAX-RS component (such as an extension provider or afeaturemeta-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 viajakarta.annotation.Priorityannotation 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.
- Specified by:
registerin interfaceConfigurable<ResourceConfig>- Parameters:
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 notassignable fromthe registered component class MUST be ignored and implementations SHOULD raise a warning to inform users about the ignored contract(s).- Returns:
- the updated configurable context.
-
registerClasses
public final ResourceConfig registerClasses(Set<Class<?>> classes)
Register annotated JAX-RS resource, JAX-RS or Jersey contract provider or JAX-RS feature in theResourceConfig.Note that registered JAX-RS features are used to initialize and configure the Jersey runtime
InjectionManagerinstance during application deployment, but are otherwise ignored by server-side runtime, unless they implement also another contract recognized by Jersey runtime.Also note that registration of
binderclasses is note supported. Binders must beregistered as instances.- Parameters:
classes- classes to register.- Returns:
- updated resource configuration instance.
-
registerClasses
public final ResourceConfig registerClasses(Class<?>... classes)
Register annotated JAX-RS resource, JAX-RS or Jersey contract provider or JAX-RS feature in theResourceConfig.Note that registered JAX-RS features are used to initialize and configure the Jersey runtime
InjectionManagerinstance during application deployment, but are otherwise ignored by server-side runtime, unless they implement also another contract recognized by Jersey runtime.Also note that registration of
binderclasses is note supported. Binders must beregistered as instances.- Parameters:
classes- classes to register.- Returns:
- updated resource configuration instance.
-
registerInstances
public final ResourceConfig registerInstances(Set<Object> instances)
Register annotated JAX-RS resource, JAX-RS or Jersey contract provider, JAX-RS featureJersey Binderinstances (singletons) in theResourceConfig.Note that registered binders and JAX-RS features are used to initialize and configure the Jersey runtime
InjectionManagerinstance during application deployment, but are otherwise ignored by server-side runtime, unless they implement also another contract recognized by Jersey runtime.- Parameters:
instances- instances to register.- Returns:
- updated resource configuration instance.
-
registerInstances
public final ResourceConfig registerInstances(Object... instances)
Register annotated JAX-RS resource, JAX-RS or Jersey contract provider, JAX-RS feature,Jersey Binderinstances (singletons) in theResourceConfig.Note that registered binders and JAX-RS features are used to initialize and configure the Jersey runtime
InjectionManagerinstance during application deployment, but are otherwise ignored by server-side runtime, unless they implement also another contract recognized by Jersey runtime.- Parameters:
instances- instances to register.- Returns:
- updated resource configuration instance.
-
registerResources
public final ResourceConfig registerResources(Resource... resources)
Register new programmatic resource models in theResourceConfig.- Parameters:
resources- resource models to register.- Returns:
- updated resource configuration instance.
-
registerResources
public final ResourceConfig registerResources(Set<Resource> resources)
Register new resource models in theResourceConfig.- Parameters:
resources- resource models to register.- Returns:
- updated resource configuration instance.
-
registerFinder
public final ResourceConfig registerFinder(ResourceFinder resourceFinder)
Add aResourceFindertoResourceConfig.- Parameters:
resourceFinder-ResourceFinder- Returns:
- updated resource configuration instance.
-
setApplicationName
public final ResourceConfig setApplicationName(String applicationName)
Set the name of the application. The name is an arbitrary user defined name which is used to distinguish between Jersey applications in the case that more applications are deployed on the same runtime (container). The name can be used for example for purposes of monitoring by JMX when name identifies to which application deployed MBeans belong to. The name should be unique in the runtime.- Parameters:
applicationName- Unique application name.- Returns:
- updated resource configuration instance.
-
setClassLoader
public final ResourceConfig setClassLoader(ClassLoader classLoader)
SetClassLoaderwhich will be used for resource discovery.- Parameters:
classLoader- providedClassLoader.- Returns:
- updated resource configuration instance.
-
packages
public final ResourceConfig packages(String... packages)
Adds array of package names which will be used to scan for components. Package scanning ignores inheritance and thereforePathannotation on parent classes and interfaces will be ignored. Packages will be scanned recursively, including all nested packages.- Parameters:
packages- array of package names.- Returns:
- updated resource configuration instance.
- See Also:
packages(boolean, String...)
-
packages
public final ResourceConfig packages(boolean recursive, String... packages)
Adds array of package names which will be used to scan for components. Package scanning ignores an inheritance and thereforePathannotation on parent classes and interfaces will be ignored.- Parameters:
recursive- defines whether any nested packages in the collection of specified package names should be recursively scanned (value oftrue) as part of the package scanning or not (value offalse).packages- array of package names.- Returns:
- updated resource configuration instance.
- See Also:
packages(String...)
-
packages
public final ResourceConfig packages(boolean recursive, ClassLoader classLoader, String... packages)
Adds array of package names which will be used to scan for components. Package scanning ignores an inheritance and thereforePathannotation on parent classes and interfaces will be ignored.- Parameters:
recursive- defines whether any nested packages in the collection of specified package names should be recursively scanned (value oftrue) as part of the package scanning or not (value offalse).classLoader- defines the classloader used for scanning the packages and loading the classes.packages- array of package names.- Returns:
- updated resource configuration instance.
- See Also:
packages(String...)
-
files
public final ResourceConfig files(String... files)
Adds array of file and directory names to scan for components. Any directories in the list will be scanned recursively, including their sub-directories.- Parameters:
files- array of file and directory names.- Returns:
- updated resource configuration instance.
-
files
public final ResourceConfig files(boolean recursive, String... files)
Adds array of file and directory names to scan for components.- Parameters:
recursive- defines whether any sub-directories of the directories specified in the collection of file names should be recursively scanned (value oftrue) as part of the file scanning or not (value offalse).files- array of file and directory names.- Returns:
- updated resource configuration instance.
-
getConfiguration
public final ServerConfig getConfiguration()
Description copied from interface:ConfigurableGet a live view of an internal configuration state of this configurable instance. Any changes made using methods of thisConfigurableinstance will be reflected in the returnedConfigurationinstance.The returned
Configurationinstance and the collection data it provides are not thread-safe wrt. modification made using methods on the parent configurable object.- Specified by:
getConfigurationin interfaceConfigurable<ResourceConfig>- Returns:
- configuration live view of the internal configuration state.
-
getProperties
public final Map<String,Object> getProperties()
Description copied from class:ApplicationGet a map of custom application-wide properties.The returned properties are reflected in the application
configurationpassed to the server-side features or injected into server-side JAX-RS components.The set of returned properties may be further extended or customized at deployment time using container-specific features and deployment descriptors. For example, in a Servlet-based deployment scenario, web application's
<context-param>and Servlet<init-param>values may be used to extend or override values of the properties programmatically returned by this method.The default implementation returns an empty set.
- Specified by:
getPropertiesin interfaceConfiguration- Overrides:
getPropertiesin classApplication- Returns:
- a map of custom application-wide properties. Returning
nullis equivalent to returning an empty set.
-
getProperty
public final Object getProperty(String name)
Description copied from interface:ConfigurationGet the value for the property with a given name.- Specified by:
getPropertyin interfaceConfiguration- Parameters:
name- property name.- Returns:
- the property value for the specified property name or
nullif the property with such name is not configured.
-
getPropertyNames
public Collection<String> getPropertyNames()
Description copied from interface:ConfigurationReturns an immutablecollectioncontaining the property names available within the context of the current configuration instance.Use the
Configuration.getProperty(java.lang.String)method with a property name to get the value of a property.- Specified by:
getPropertyNamesin interfaceConfiguration- Returns:
- an immutable
collectionof property names. - See Also:
Configuration.getProperty(java.lang.String)
-
isProperty
public final boolean isProperty(String name)
Description copied from interface:ExtendedConfigGet the value of the property with a given name converted toboolean. Returnsfalseif the value is not convertible.- Specified by:
isPropertyin interfaceExtendedConfig- Parameters:
name- property name.- Returns:
booleanproperty value orfalseif the property is not convertible.
-
getClasses
public final Set<Class<?>> getClasses()
Description copied from class:ApplicationGet a set of root resource, provider andfeatureclasses. The default life-cycle for resource class instances is per-request. The default life-cycle for providers (registered directly or via a feature) is singleton.Implementations should warn about and ignore classes that do not conform to the requirements of root resource or provider/feature classes. Implementations should warn about and ignore classes for which
Application.getSingletons()returns an instance. Implementations MUST NOT modify the returned set.The default implementation returns an empty set.
- Specified by:
getClassesin interfaceConfiguration- Overrides:
getClassesin classApplication- Returns:
- a set of root resource and provider classes. Returning
nullis equivalent to returning an empty set. - See Also:
Configuration.getInstances()
-
getInstances
public final Set<Object> getInstances()
Description copied from interface:ConfigurationGet the immutable set of registered JAX-RS component (such as provider orfeature) instances to be utilized by the configurable instance. Fields and properties of returned instances are injected with their declared dependencies (seeContext) by the runtime prior to use.For each component type, there can be only a single class-based or instance-based registration present in the configuration context at any given time.
- Specified by:
getInstancesin interfaceConfiguration- Returns:
- the immutable set of registered JAX-RS component instances. The returned value may be empty but will never be
null. - See Also:
Configuration.getClasses()
-
getSingletons
public final Set<Object> getSingletons()
Description copied from class:ApplicationGet a set of root resource, provider andfeatureinstances. Fields and properties of returned instances are injected with their declared dependencies (seeContext) by the runtime prior to use.Implementations should warn about and ignore classes that do not conform to the requirements of root resource or provider classes. Implementations should flag an error if the returned set includes more than one instance of the same class. Implementations MUST NOT modify the returned set.
The default implementation returns an empty set.
- Overrides:
getSingletonsin classApplication- Returns:
- a set of root resource and provider instances. Returning
nullis equivalent to returning an empty set.
-
getRuntimeType
public RuntimeType getRuntimeType()
Description copied from interface:ConfigurationGet the runtime type of this configuration context.- Specified by:
getRuntimeTypein interfaceConfiguration- Returns:
- configuration context runtime type.
-
isEnabled
public boolean isEnabled(Feature feature)
Description copied from interface:ConfigurationCheck if a particularfeatureinstance has been previously enabled in the runtime configuration context.Method returns
trueonly in case an instance equal to thefeatureinstance is already present among the features previously successfully enabled in the configuration context.- Specified by:
isEnabledin interfaceConfiguration- Parameters:
feature- a feature instance to test for.- Returns:
trueif the feature instance has been previously enabled in this configuration context,falseotherwise.
-
isEnabled
public boolean isEnabled(Class<? extends Feature> featureClass)
Description copied from interface:ConfigurationCheck if afeatureinstance offeatureClassclass has been previously enabled in the runtime configuration context.Method returns
truein case any instance of thefeatureClassclass is already present among the features previously successfully enabled in the configuration context.- Specified by:
isEnabledin interfaceConfiguration- Parameters:
featureClass- a feature class to test for.- Returns:
trueif a feature of a given class has been previously enabled in this configuration context,falseotherwise.
-
isRegistered
public boolean isRegistered(Object component)
Description copied from interface:ConfigurationCheck if a particular JAX-RScomponentinstance (such as providers orfeatures) has been previously registered in the runtime configuration context.Method returns
trueonly in case an instance equal to thecomponentinstance is already present among the components previously registered in the configuration context.- Specified by:
isRegisteredin interfaceConfiguration- Parameters:
component- a component instance to test for.- Returns:
trueif the component instance has been previously registered in this configuration context,falseotherwise.- See Also:
Configuration.isEnabled(Feature)
-
isRegistered
public boolean isRegistered(Class<?> componentClass)
Description copied from interface:ConfigurationCheck if a JAX-RS component of the suppliedcomponentClassclass has been previously registered in the runtime configuration context.Method returns
truein case a component of the suppliedcomponentClassclass is already present among the previously registered component classes or instances in the configuration context.- Specified by:
isRegisteredin interfaceConfiguration- Parameters:
componentClass- a component class to test for.- Returns:
trueif a component of a given class has been previously registered in this configuration context,falseotherwise.- See Also:
Configuration.isEnabled(Class)
-
getContracts
public Map<Class<?>,Integer> getContracts(Class<?> componentClass)
Description copied from interface:ConfigurationGet the extension contract registration information for a component of a given class. For component classes that are not configured in this configuration context the method returns an emptyMap. Method does not returnnull.- Specified by:
getContractsin interfaceConfiguration- Parameters:
componentClass- a component class for which to get contracts.- Returns:
- map of extension contracts and their priorities for which the component class is registered. May return an empty map in case the component has not been registered for any extension contract supported by the implementation.
-
getResources
public final Set<Resource> getResources()
Description copied from interface:ServerConfigGet programmatically modeled resources.- Specified by:
getResourcesin interfaceServerConfig- Returns:
- programmatically modeled resources.
-
getClassLoader
public final ClassLoader getClassLoader()
Get resource and provider class loader.- Returns:
- class loader to be used when looking up the resource classes and providers.
-
getApplication
public final Application getApplication()
Returns JAX-RS application corresponding with this ResourceConfig.- Returns:
- JAX-RS application corresponding with this ResourceConfig.
-
getApplicationPath
public final String getApplicationPath()
Returns encoded value ofApplicationPathannotation of the Application corresponding with this ResourceConfig ornullwhen the annotation is not present.- Returns:
- Returns encoded value of
ApplicationPathannotation of the Application corresponding with this ResourceConfig.
-
getApplicationName
public String getApplicationName()
Get the name of the Jersey application.- Returns:
- Name of the application.
- See Also:
setApplicationName(String)
-
-