Class JerseyResourceContext
java.lang.Object
org.glassfish.jersey.server.internal.JerseyResourceContext
- All Implemented Interfaces:
ResourceContext
,ExtendedResourceContext
Jersey implementation of JAX-RS
resource context
.- Author:
- Marek Potociar
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> void
bindResource
(Class<T> resourceClass) BindsresourceClass
into HK2 context as singleton.<T> void
bindResourceIfSingleton
(T resource) BindsresourceClass
into HK2 context as singleton.<T> T
getResource
(Class<T> resourceClass) Returnresource model
from which the current jersey application is built.<T> T
initResource
(T resource) void
setResourceModel
(ResourceModel resourceModel) Set theresource mode
of the application associated with this context.<T> void
unsafeBindResource
(Class<T> resourceClass, ContractProvider providerModel) Bind a resource class in a HK2 context.void
unsafeBindResource
(Object resource, ContractProvider providerModel) Bind a resource instance in a InjectionManager.
-
Constructor Details
-
JerseyResourceContext
public JerseyResourceContext(Function<Class<?>, ?> getOrCreateInstance, Consumer<Object> injectInstance, Consumer<org.glassfish.jersey.internal.inject.Binding> registerBinding) Creates a new JerseyResourceContext.- Parameters:
getOrCreateInstance
- function to create or get existing instance.injectInstance
- consumer to inject instances into an unmanaged instance.registerBinding
- consumer to register a new binding into injection manager.
-
-
Method Details
-
getResource
- Specified by:
getResource
in interfaceResourceContext
-
initResource
public <T> T initResource(T resource) - Specified by:
initResource
in interfaceResourceContext
-
bindResource
BindsresourceClass
into HK2 context as singleton. The bound class is then cached internally so that any sub-sequent attempt to bind that class as a singleton is silently ignored.- Type Parameters:
T
- type of the resource class.- Parameters:
resourceClass
- resource class that should be bound. If the class is not annotated withSingleton annotation
it will be ignored by this method.
-
bindResourceIfSingleton
public <T> void bindResourceIfSingleton(T resource) BindsresourceClass
into HK2 context as singleton. The bound class is then cached internally so that any sub-sequent attempt to bind that class as a singleton is silently ignored.- Parameters:
resource
- singleton resource instance that should be bound as singleton. If the class is not annotated withSingleton annotation
it will be ignored by this method.
-
unsafeBindResource
Bind a resource instance in a InjectionManager. The bound resource instance is internally cached to make sure any sub-sequent attempts to service the class are silently ignored.WARNING: This version of method is not synchronized as well as the cache is not checked for existing bindings before the resource is bound and cached.
- Parameters:
resource
- resource instance to be bound.providerModel
- provider model for the resource class. If notnull
, the class wil be bound as a contract provider too.
-
unsafeBindResource
Bind a resource class in a HK2 context. The bound resource class is internally cached to make sure any sub-sequent attempts to bind the class are silently ignored.WARNING: This version of method is not synchronized as well as the cache is not checked for existing bindings before the resource is bound and cached.
- Type Parameters:
T
- resource class type.- Parameters:
resourceClass
- resource class to be bound.providerModel
- provider model for the class. If notnull
, the class wil be bound as a contract provider too.
-
getResourceModel
Description copied from interface:ExtendedResourceContext
Returnresource model
from which the current jersey application is built.- Specified by:
getResourceModel
in interfaceExtendedResourceContext
- Returns:
- Resource model with all resources including resources created
by
resource processor
.
-
setResourceModel
Set theresource mode
of the application associated with this context.- Parameters:
resourceModel
- Resource model on which theapplication
is based.
-