Class ResourceConfig
- java.lang.Object
-
- javax.ws.rs.core.Application
-
- org.glassfish.jersey.server.ResourceConfig
-
- All Implemented Interfaces:
javax.ws.rs.core.Configurable<ResourceConfig>
,javax.ws.rs.core.Configuration
,ExtendedConfig
,ServerConfig
- Direct Known Subclasses:
ResourceConfig.RuntimeConfig
,ResourceConfig.WrappingResourceConfig
public class ResourceConfig extends javax.ws.rs.core.Application implements javax.ws.rs.core.Configurable<ResourceConfig>, ServerConfig
The resource configuration for configuring a web application.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
ResourceConfig.ImmutableState
private static class
ResourceConfig.RuntimeConfig
private static class
ResourceConfig.State
private static class
ResourceConfig.WrappingResourceConfig
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<java.lang.Class<?>>
cachedClasses
private java.util.Set<java.lang.Class<?>>
cachedClassesView
private java.util.Set<java.lang.Object>
cachedSingletons
private java.util.Set<java.lang.Object>
cachedSingletonsView
private static java.util.logging.Logger
LOGGER
private boolean
resetFinders
private ResourceConfig.State
state
-
Constructor Summary
Constructors Constructor Description ResourceConfig()
Create a new resource configuration without any custom properties or resource and provider classes.ResourceConfig(java.lang.Class<?>... classes)
Create a new resource configuration initialized with a given set of resource/provider classes.ResourceConfig(java.util.Set<java.lang.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 (package private) javax.ws.rs.core.Application
_getApplication()
Allows overriding thegetApplication()
method functionality inResourceConfig.WrappingResourceConfig
.(package private) java.util.Set<java.lang.Class<?>>
_getClasses()
Get configured resource and/or provider classes.(package private) java.util.Set<java.lang.Object>
_getSingletons()
Get configured resource and/or provider instances.(package private) ResourceConfig
_setApplication(javax.ws.rs.core.Application app)
Allows overriding the setApplication() method functionality in WrappingResourceConfig.ResourceConfig
addProperties(java.util.Map<java.lang.String,java.lang.Object> properties)
Add properties toResourceConfig
.(package private) void
configureAutoDiscoverableProviders(InjectionManager injectionManager, java.util.Collection<AutoDiscoverable> autoDiscoverables)
Configure auto-discoverables.(package private) void
configureForcedAutoDiscoverableProviders(InjectionManager injectionManager)
Configure forced auto-discoverables.(package private) void
configureMetaProviders(InjectionManager injectionManager, ManagedObjectsFinalizer finalizer)
(package private) static ResourceConfig
createRuntimeConfig(javax.ws.rs.core.Application application)
Create runtime configuration initialized from a given deploy-time JAX-RS/Jersey application configuration.ResourceConfig
files(boolean recursive, java.lang.String... files)
Adds array of file and directory names to scan for components.ResourceConfig
files(java.lang.String... files)
Adds array of file and directory names to scan for components.static ResourceConfig
forApplication(javax.ws.rs.core.Application application)
Returns aResourceConfig
instance for the supplied application.static ResourceConfig
forApplicationClass(java.lang.Class<? extends javax.ws.rs.core.Application> applicationClass)
Returns aResourceConfig
instance wrapping the application of the supplied class.static ResourceConfig
forApplicationClass(java.lang.Class<? extends javax.ws.rs.core.Application> applicationClass, java.util.Set<java.lang.Class<?>> defaultClasses)
Returns aResourceConfig
instance wrapping the application of the supplied class.javax.ws.rs.core.Application
getApplication()
Returns JAX-RS application corresponding with this ResourceConfig.(package private) java.lang.Class<? extends javax.ws.rs.core.Application>
getApplicationClass()
Method used by ApplicationHandler to retrieve application class (this method is overridden byResourceConfig.WrappingResourceConfig
).java.lang.String
getApplicationName()
Get the name of the Jersey application.java.util.Set<java.lang.Class<?>>
getClasses()
java.lang.ClassLoader
getClassLoader()
Get resource and provider class loader.(package private) ComponentBag
getComponentBag()
Get the internal component bag.ServerConfig
getConfiguration()
java.util.Map<java.lang.Class<?>,java.lang.Integer>
getContracts(java.lang.Class<?> componentClass)
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) java.util.Set<java.lang.Class<?>>
getRegisteredClasses()
Return classes which were registered by the user and not found by class path scanning (or any other scanning).java.util.Set<Resource>
getResources()
Get programmatically modeled resources.javax.ws.rs.RuntimeType
getRuntimeType()
java.util.Set<java.lang.Object>
getSingletons()
(package private) void
invalidateCache()
Invalidate cached component instances and classes.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)
(package private) void
lock()
Switches the ResourceConfig to read-only state.ResourceConfig
packages(boolean recursive, java.lang.String... packages)
Adds array of package names which will be used to scan for components.ResourceConfig
packages(java.lang.String... packages)
Adds array of package names which will be used to scan for components.private java.lang.String[]
parsePropertyValue(java.lang.String propertyName)
ResourceConfig
property(java.lang.String name, java.lang.Object value)
ResourceConfig
register(java.lang.Class<?> componentClass)
ResourceConfig
register(java.lang.Class<?> componentClass, int bindingPriority)
ResourceConfig
register(java.lang.Class<?> componentClass, java.lang.Class<?>... contracts)
ResourceConfig
register(java.lang.Class<?> componentClass, java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
ResourceConfig
register(java.lang.Object component)
ResourceConfig
register(java.lang.Object component, int bindingPriority)
ResourceConfig
register(java.lang.Object component, java.lang.Class<?>... contracts)
ResourceConfig
register(java.lang.Object component, java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
ResourceConfig
registerClasses(java.lang.Class<?>... classes)
Register annotated JAX-RS resource, JAX-RS or Jersey contract provider or JAX-RS feature in theResourceConfig
.ResourceConfig
registerClasses(java.util.Set<java.lang.Class<?>> classes)
Register annotated JAX-RS resource, JAX-RS or Jersey contract provider or JAX-RS feature in theResourceConfig
.ResourceConfig
registerFinder(ResourceFinder resourceFinder)
Add aResourceFinder
toResourceConfig
.ResourceConfig
registerInstances(java.lang.Object... instances)
Register annotated JAX-RS resource, JAX-RS or Jersey contract provider, JAX-RS feature,Jersey Binder
instances (singletons) in theResourceConfig
.ResourceConfig
registerInstances(java.util.Set<java.lang.Object> instances)
Register annotated JAX-RS resource, JAX-RS or Jersey contract provider, JAX-RS featureJersey Binder
instances (singletons) in theResourceConfig
.ResourceConfig
registerResources(java.util.Set<Resource> resources)
Register new resource models in theResourceConfig
.ResourceConfig
registerResources(Resource... resources)
Register new programmatic resource models in theResourceConfig
.private java.util.Set<java.lang.Class<?>>
scanClasses()
(package private) ResourceConfig
setApplication(javax.ws.rs.core.Application app)
This method is used by ApplicationHandler to set application instance to the resource config (should always be called on WrappingResourceConfig instance, never on plain instances of ResourceConfig unless we have a bug in the code).ResourceConfig
setApplicationName(java.lang.String applicationName)
Set the name of the application.ResourceConfig
setClassLoader(java.lang.ClassLoader classLoader)
SetClassLoader
which will be used for resource discovery.ResourceConfig
setProperties(java.util.Map<java.lang.String,?> properties)
Set new configuration properties replacing all previously set properties.private void
setupApplicationName()
(package private) static javax.ws.rs.core.Application
unwrapApplication(javax.ws.rs.core.Application application)
Get the most internal wrappedapplication
class.private static javax.ws.rs.core.Application
unwrapCustomRootApplication(ResourceConfig resourceConfig)
-
-
-
Field Detail
-
LOGGER
private static final java.util.logging.Logger LOGGER
-
cachedClasses
private transient java.util.Set<java.lang.Class<?>> cachedClasses
-
cachedClassesView
private transient java.util.Set<java.lang.Class<?>> cachedClassesView
-
cachedSingletons
private transient java.util.Set<java.lang.Object> cachedSingletons
-
cachedSingletonsView
private transient java.util.Set<java.lang.Object> cachedSingletonsView
-
resetFinders
private transient boolean resetFinders
-
state
private volatile ResourceConfig.State state
-
-
Constructor Detail
-
ResourceConfig
public ResourceConfig()
Create a new resource configuration without any custom properties or resource and provider classes.
-
ResourceConfig
public ResourceConfig(java.util.Set<java.lang.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(java.lang.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(javax.ws.rs.core.Application application)
Returns aResourceConfig
instance for the supplied application. If the application is an instance ofResourceConfig
the method returns defensive copy of the resource config. Otherwise it creates a newResourceConfig
from the application.- Parameters:
application
- Application to provide theResourceConfig
instance for.- Returns:
- ResourceConfig instance for the supplied application.
-
forApplicationClass
public static ResourceConfig forApplicationClass(java.lang.Class<? extends javax.ws.rs.core.Application> applicationClass)
Returns aResourceConfig
instance 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(java.lang.Class<? extends javax.ws.rs.core.Application> applicationClass, java.util.Set<java.lang.Class<?>> defaultClasses)
Returns aResourceConfig
instance 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(java.util.Map<java.lang.String,java.lang.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(java.util.Map<java.lang.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(java.lang.String name, java.lang.Object value)
- Specified by:
property
in interfacejavax.ws.rs.core.Configurable<ResourceConfig>
-
register
public ResourceConfig register(java.lang.Class<?> componentClass)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ResourceConfig>
-
register
public ResourceConfig register(java.lang.Class<?> componentClass, int bindingPriority)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ResourceConfig>
-
register
public ResourceConfig register(java.lang.Class<?> componentClass, java.lang.Class<?>... contracts)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ResourceConfig>
-
register
public ResourceConfig register(java.lang.Class<?> componentClass, java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ResourceConfig>
-
register
public ResourceConfig register(java.lang.Object component)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ResourceConfig>
-
register
public ResourceConfig register(java.lang.Object component, int bindingPriority)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ResourceConfig>
-
register
public ResourceConfig register(java.lang.Object component, java.lang.Class<?>... contracts)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ResourceConfig>
-
register
public ResourceConfig register(java.lang.Object component, java.util.Map<java.lang.Class<?>,java.lang.Integer> contracts)
- Specified by:
register
in interfacejavax.ws.rs.core.Configurable<ResourceConfig>
-
registerClasses
public final ResourceConfig registerClasses(java.util.Set<java.lang.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
InjectionManager
instance 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
binder
classes is note supported. Binders must beregistered as instances
.- Parameters:
classes
- classes to register.- Returns:
- updated resource configuration instance.
-
registerClasses
public final ResourceConfig registerClasses(java.lang.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
InjectionManager
instance 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
binder
classes is note supported. Binders must beregistered as instances
.- Parameters:
classes
- classes to register.- Returns:
- updated resource configuration instance.
-
registerInstances
public final ResourceConfig registerInstances(java.util.Set<java.lang.Object> instances)
Register annotated JAX-RS resource, JAX-RS or Jersey contract provider, JAX-RS featureJersey Binder
instances (singletons) in theResourceConfig
.Note that registered binders and JAX-RS features are used to initialize and configure the Jersey runtime
InjectionManager
instance 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(java.lang.Object... instances)
Register annotated JAX-RS resource, JAX-RS or Jersey contract provider, JAX-RS feature,Jersey Binder
instances (singletons) in theResourceConfig
.Note that registered binders and JAX-RS features are used to initialize and configure the Jersey runtime
InjectionManager
instance 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(java.util.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 aResourceFinder
toResourceConfig
.- Parameters:
resourceFinder
-ResourceFinder
- Returns:
- updated resource configuration instance.
-
setApplicationName
public final ResourceConfig setApplicationName(java.lang.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(java.lang.ClassLoader classLoader)
SetClassLoader
which will be used for resource discovery.- Parameters:
classLoader
- providedClassLoader
.- Returns:
- updated resource configuration instance.
-
packages
public final ResourceConfig packages(java.lang.String... packages)
Adds array of package names which will be used to scan for components. Package scanning ignores inheritance and thereforePath
annotation 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, java.lang.String... packages)
Adds array of package names which will be used to scan for components. Package scanning ignores an inheritance and thereforePath
annotation 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...)
-
files
public final ResourceConfig files(java.lang.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, java.lang.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.
-
invalidateCache
final void invalidateCache()
Invalidate cached component instances and classes.
-
lock
final void lock()
Switches the ResourceConfig to read-only state. Called by the WrappingResourceConfig if this ResourceConfig is set as the application. Also called by ApplicationHandler on WrappingResourceConfig at the point when it is going to build the resource model. The method also sets the application name from properties if the name is not defined yer and the propertyServerProperties.APPLICATION_NAME
is defined.
-
getConfiguration
public final ServerConfig getConfiguration()
- Specified by:
getConfiguration
in interfacejavax.ws.rs.core.Configurable<ResourceConfig>
-
getProperties
public final java.util.Map<java.lang.String,java.lang.Object> getProperties()
- Specified by:
getProperties
in interfacejavax.ws.rs.core.Configuration
- Overrides:
getProperties
in classjavax.ws.rs.core.Application
-
getProperty
public final 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 final 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.
-
getClasses
public final java.util.Set<java.lang.Class<?>> getClasses()
- Specified by:
getClasses
in interfacejavax.ws.rs.core.Configuration
- Overrides:
getClasses
in classjavax.ws.rs.core.Application
-
getInstances
public final java.util.Set<java.lang.Object> getInstances()
- Specified by:
getInstances
in interfacejavax.ws.rs.core.Configuration
-
getSingletons
public final java.util.Set<java.lang.Object> getSingletons()
- Overrides:
getSingletons
in classjavax.ws.rs.core.Application
-
getComponentBag
final ComponentBag getComponentBag()
Get the internal component bag.- Returns:
- internal component bag.
-
configureAutoDiscoverableProviders
final void configureAutoDiscoverableProviders(InjectionManager injectionManager, java.util.Collection<AutoDiscoverable> autoDiscoverables)
Configure auto-discoverables.- Parameters:
injectionManager
- injection manager to obtain auto-discoverables from.autoDiscoverables
- list of registered auto discoverable components.
-
configureForcedAutoDiscoverableProviders
final void configureForcedAutoDiscoverableProviders(InjectionManager injectionManager)
Configure forced auto-discoverables.- Parameters:
injectionManager
- injection manager to obtain auto-discoverables from.
-
configureMetaProviders
final void configureMetaProviders(InjectionManager injectionManager, ManagedObjectsFinalizer finalizer)
-
getRuntimeType
public javax.ws.rs.RuntimeType getRuntimeType()
- Specified by:
getRuntimeType
in interfacejavax.ws.rs.core.Configuration
-
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
-
isRegistered
public boolean isRegistered(java.lang.Class<?> componentClass)
- 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
-
_getClasses
java.util.Set<java.lang.Class<?>> _getClasses()
Get configured resource and/or provider classes. The method is overridden in aprivate sub-type
.- Returns:
- set of configured resource and/or provider classes.
-
scanClasses
private java.util.Set<java.lang.Class<?>> scanClasses()
-
parsePropertyValue
private java.lang.String[] parsePropertyValue(java.lang.String propertyName)
-
getRegisteredClasses
java.util.Set<java.lang.Class<?>> getRegisteredClasses()
Return classes which were registered by the user and not found by class path scanning (or any other scanning).- Returns:
- Set of classes registered by the user.
-
_getSingletons
java.util.Set<java.lang.Object> _getSingletons()
Get configured resource and/or provider instances. The method is overridden in aprivate sub-type
.- Returns:
- set of configured resource and/or provider instances.
-
getResources
public final java.util.Set<Resource> getResources()
Description copied from interface:ServerConfig
Get programmatically modeled resources.- Specified by:
getResources
in interfaceServerConfig
- Returns:
- programmatically modeled resources.
-
getClassLoader
public final java.lang.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 javax.ws.rs.core.Application getApplication()
Returns JAX-RS application corresponding with this ResourceConfig.- Returns:
- JAX-RS application corresponding with this ResourceConfig.
-
_getApplication
javax.ws.rs.core.Application _getApplication()
Allows overriding thegetApplication()
method functionality inResourceConfig.WrappingResourceConfig
.- Returns:
- JAX-RS application corresponding with this ResourceConfig.
-
getApplicationName
public java.lang.String getApplicationName()
Get the name of the Jersey application.- Returns:
- Name of the application.
- See Also:
setApplicationName(String)
-
getApplicationClass
java.lang.Class<? extends javax.ws.rs.core.Application> getApplicationClass()
Method used by ApplicationHandler to retrieve application class (this method is overridden byResourceConfig.WrappingResourceConfig
).- Returns:
- application class
-
setApplication
final ResourceConfig setApplication(javax.ws.rs.core.Application app)
This method is used by ApplicationHandler to set application instance to the resource config (should always be called on WrappingResourceConfig instance, never on plain instances of ResourceConfig unless we have a bug in the code).- Parameters:
app
- JAX-RS application- Returns:
- this ResourceConfig instance (for convenience)
-
_setApplication
ResourceConfig _setApplication(javax.ws.rs.core.Application app)
Allows overriding the setApplication() method functionality in WrappingResourceConfig.- Parameters:
app
- application to be set for this ResourceConfig- Returns:
- this resource config instance
-
createRuntimeConfig
static ResourceConfig createRuntimeConfig(javax.ws.rs.core.Application application)
Create runtime configuration initialized from a given deploy-time JAX-RS/Jersey application configuration.- Parameters:
application
- deploy-time JAX-RS/Jersey application configuration.- Returns:
- initialized run-time resource config.
-
unwrapCustomRootApplication
private static javax.ws.rs.core.Application unwrapCustomRootApplication(ResourceConfig resourceConfig)
-
unwrapApplication
static javax.ws.rs.core.Application unwrapApplication(javax.ws.rs.core.Application application)
Get the most internal wrappedapplication
class.This method is similar to
getApplication()
except if provided application was created by wrapping multipleResourceConfig
instances, this method will return the original (inner-most) JAX-RSApplication
sub-class rather than a potentially intermediateResourceConfig
wrapper.- Parameters:
application
- application that is potentially wrapped.- Returns:
- the original, inner-most
Application
subclass. May return the same instance directly, in case the suppliedapplication
instance is not a wrapperResourceConfig
instance.
-
setupApplicationName
private void setupApplicationName()
-
-