Class ResourceMethod

java.lang.Object
org.glassfish.jersey.server.model.ResourceMethod
All Implemented Interfaces:
NameBound, Consuming, Producing, ResourceModelComponent, Suspendable

public final class ResourceMethod extends Object implements ResourceModelComponent, Producing, Consuming, Suspendable, NameBound
Model of a method available on a resource. Covers resource method, sub-resource method and sub-resource locator.
Author:
Marek Potociar
  • Method Details

    • getParent

      public Resource getParent()
      Get the parent resource for this resource method model.

      May return null in case the resource method is not bound to an existing resource. This is typical for resource method models returned directly from the ResourceMethod.Builder.build() method.

      Returns:
      parent resource, or null if there is no parent resource associated with the method.
      Since:
      2.1
    • getType

      public ResourceMethod.JaxrsType getType()
      Get the JAX-RS method type.
      Returns:
      the JAX-RS method type.
    • getHttpMethod

      public String getHttpMethod()
      Get the associated HTTP method.

      May return null in case the method represents a sub-resource locator.

      Returns:
      the associated HTTP method, or null in case this method represents a sub-resource locator.
    • getInvocable

      public Invocable getInvocable()
      Get the invocable method model.
      Returns:
      invocable method model.
    • isExtended

      public boolean isExtended()
      Get the flag indicating whether the resource method is extended or is a core of exposed RESTful API.

      Extended resource model components are helper components that are not considered as a core of a RESTful API. These can be for example OPTIONS resource methods added by model processors or application.wadl resource producing the WADL. Both resource are rather supportive than the core of RESTful API.

      If not set the resource will not be defined as extended by default.

      Returns:
      true if the method is extended.
      Since:
      2.5.1
      See Also:
    • getConsumedTypes

      public List<MediaType> getConsumedTypes()
      Description copied from interface: Consuming
      Get the consumed media types supported by the component.
      Specified by:
      getConsumedTypes in interface Consuming
      Returns:
      immutable collection of supported consumed media types.
    • getProducedTypes

      public List<MediaType> getProducedTypes()
      Description copied from interface: Producing
      Get the produced media types supported by the component.
      Specified by:
      getProducedTypes in interface Producing
      Returns:
      immutable collection of supported produced media types.
    • getSuspendTimeout

      public long getSuspendTimeout()
      Description copied from interface: Suspendable
      Get the suspend timeout value in the given time unit.
      Specified by:
      getSuspendTimeout in interface Suspendable
      Returns:
      suspend timeout value.
    • getSuspendTimeoutUnit

      public TimeUnit getSuspendTimeoutUnit()
      Description copied from interface: Suspendable
      Get the suspend timeout value time unit.
      Specified by:
      getSuspendTimeoutUnit in interface Suspendable
      Returns:
      time unit of the suspend timeout value.
    • isSuspendDeclared

      public boolean isSuspendDeclared()
      Description copied from interface: Suspendable
      Check if the component is marked for suspending.
      Specified by:
      isSuspendDeclared in interface Suspendable
      Returns:
      true if the component is marked for suspending, false otherwise.
    • isSse

      public boolean isSse()
      Check whether the resource method will be producing Server-sent event stream.
      Returns:
      true if the resource method produces Server-sent event stream, false otherwise.
    • isManagedAsyncDeclared

      public boolean isManagedAsyncDeclared()
      Description copied from interface: Suspendable
      Check if the component is marked to be executed asynchronously by using an internal Jersey executor service.
      Specified by:
      isManagedAsyncDeclared in interface Suspendable
      Returns:
      true if the component is marked for managed asynchronous execution, false otherwise.
    • getComponents

      public List<? extends ResourceModelComponent> getComponents()
      Description copied from interface: ResourceModelComponent
      Should return all existing resource model sub-components.
      Specified by:
      getComponents in interface ResourceModelComponent
      Returns:
      list of all sub-components
    • accept

      public void accept(ResourceModelVisitor visitor)
      Description copied from interface: ResourceModelComponent
      A component should call the visitor back with an appropriate visitor interface method to give it a chance to process.
      Specified by:
      accept in interface ResourceModelComponent
      Parameters:
      visitor - resource model visitor.
    • isNameBound

      public boolean isNameBound()
      Description copied from interface: NameBound
      Check if the component is bound or not.
      Specified by:
      isNameBound in interface NameBound
      Returns:
      true if the component is bound, false otherwise.
    • getNameBindings

      public Collection<Class<? extends Annotation>> getNameBindings()
      Description copied from interface: NameBound
      Get the collection of name bindings attached to this component.
      Specified by:
      getNameBindings in interface NameBound
      Returns:
      collection of name binding annotation types.
    • toString

      public String toString()
      Overrides:
      toString in class Object