Class JerseyResourceContext

java.lang.Object
org.glassfish.jersey.server.internal.JerseyResourceContext
All Implemented Interfaces:
ResourceContext, ExtendedResourceContext

public class JerseyResourceContext extends Object implements ExtendedResourceContext
Jersey implementation of JAX-RS resource context.
Author:
Marek Potociar
  • 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

      public <T> T getResource(Class<T> resourceClass)
      Specified by:
      getResource in interface ResourceContext
    • initResource

      public <T> T initResource(T resource)
      Specified by:
      initResource in interface ResourceContext
    • bindResource

      public <T> void bindResource(Class<T> resourceClass)
      Binds resourceClass 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 with Singleton annotation it will be ignored by this method.
    • bindResourceIfSingleton

      public <T> void bindResourceIfSingleton(T resource)
      Binds resourceClass 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 with Singleton annotation it will be ignored by this method.
    • unsafeBindResource

      public void unsafeBindResource(Object resource, ContractProvider providerModel)
      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 not null, the class wil be bound as a contract provider too.
    • unsafeBindResource

      public <T> void unsafeBindResource(Class<T> resourceClass, ContractProvider providerModel)
      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 not null, the class wil be bound as a contract provider too.
    • getResourceModel

      public ResourceModel getResourceModel()
      Description copied from interface: ExtendedResourceContext
      Return resource model from which the current jersey application is built.
      Specified by:
      getResourceModel in interface ExtendedResourceContext
      Returns:
      Resource model with all resources including resources created by resource processor.
    • setResourceModel

      public void setResourceModel(ResourceModel resourceModel)
      Set the resource mode of the application associated with this context.
      Parameters:
      resourceModel - Resource model on which the application is based.