Class JerseyResourceContext

    • Constructor Detail

      • 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 Detail

      • getResource

        public <T> T getResource​(Class<T> resourceClass)
        Specified by:
        getResource in interface jakarta.ws.rs.container.ResourceContext
      • initResource

        public <T> T initResource​(T resource)
        Specified by:
        initResource in interface jakarta.ws.rs.container.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.
      • 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.