Class ResourceMethod.Builder

java.lang.Object
org.glassfish.jersey.server.model.ResourceMethod.Builder
Enclosing class:
ResourceMethod

public static final class ResourceMethod.Builder extends Object
Resource method model builder.
  • Method Details

    • httpMethod

      public ResourceMethod.Builder httpMethod(String name)
      Set the associated HTTP method name.
      Parameters:
      name - HTTP method name.
      Returns:
      updated builder object.
    • produces

      public ResourceMethod.Builder produces(String... types)
      Add produced media types supported by the component.
      Parameters:
      types - produced media types.
      Returns:
      updated builder object.
    • produces

      public ResourceMethod.Builder produces(MediaType... types)
      Add produced media types supported by the component.
      Parameters:
      types - produced media types.
      Returns:
      updated builder object.
    • produces

      public ResourceMethod.Builder produces(Collection<MediaType> types)
      Add produced media types supported by the component.
      Parameters:
      types - produced media types.
      Returns:
      updated builder object.
    • consumes

      public ResourceMethod.Builder consumes(String... types)
      Add consumed media types supported by the component.
      Parameters:
      types - consumed media types.
      Returns:
      updated builder object.
    • consumes

      public ResourceMethod.Builder consumes(MediaType... types)
      Add consumed media types supported by the component.
      Parameters:
      types - consumed media types.
      Returns:
      updated builder object.
    • consumes

      public ResourceMethod.Builder consumes(Collection<MediaType> types)
      Add consumed media types supported by the component.
      Parameters:
      types - consumed media types.
      Returns:
      updated builder object.
    • nameBindings

      public ResourceMethod.Builder nameBindings(Collection<Class<? extends Annotation>> nameBindings)
      Adds name bindings. The passed annotation types not annotated with NameBinding meta-annotation will be ignored.
      Parameters:
      nameBindings - collection of name binding annotation types.
      Returns:
      updated builder object.
    • nameBindings

      @SafeVarargs public final ResourceMethod.Builder nameBindings(Class<? extends Annotation>... nameBindings)
      Adds name bindings. The passed annotation types not annotated with NameBinding meta-annotation will be ignored.
      Parameters:
      nameBindings - name binding annotation types.
      Returns:
      updated builder object.
    • nameBindings

      public ResourceMethod.Builder nameBindings(Annotation... nameBindings)
      Adds name bindings. The passed annotations not annotated with NameBinding meta-annotation will be ignored.
      Parameters:
      nameBindings - name binding annotations.
      Returns:
      updated builder object.
    • suspended

      public ResourceMethod.Builder suspended(long timeout, TimeUnit unit)
      Mark the component for suspending.

      An invocation of a component (resource or sub-resource method) marked for suspending will be automatically suspended by the Jersey runtime.

      Parameters:
      timeout - suspend timeout value.
      unit - suspend timeout time unit.
      Returns:
      updated builder object.
    • sse

      public ResourceMethod.Builder sse()
      Set the SSE flag on the method model to true.
      Returns:
      updated builder object.
    • managedAsync

      public ResourceMethod.Builder managedAsync()
      Set the managed async required flag on the method model to true.
      Returns:
      updated builder object.
    • encodedParameters

      public ResourceMethod.Builder encodedParameters(boolean value)
      If set to true, the parameter values will not be automatically decoded.

      Defaults to false.

      Parameters:
      value - true if the automatic parameter decoding should be disabled, false otherwise.
      Returns:
      updated builder object.
      See Also:
    • handledBy

      public ResourceMethod.Builder handledBy(Class<?> handlerClass, Method method)
      Define a resource method handler binding.
      Parameters:
      handlerClass - concrete resource method handler class.
      method - method that will be executed as a resource method. The parameters initializes invocable definition method.
      Returns:
      updated builder object.
    • handledBy

      public ResourceMethod.Builder handledBy(Object handlerInstance, Method method)
      Define a resource method handler binding.
      Parameters:
      handlerInstance - concrete resource method handler instance.
      method - handling method.
      Returns:
      updated builder object.
    • handledBy

      public ResourceMethod.Builder handledBy(Inflector<ContainerRequestContext,?> inflector)
      Define an inflector-based resource method handler binding.
      Parameters:
      inflector - inflector handling the resource method.
      Returns:
      updated builder object.
    • handledBy

      public ResourceMethod.Builder handledBy(Class<? extends Inflector> inflectorClass)
      Define an inflector-based resource method handler binding.
      Parameters:
      inflectorClass - class of the inflector handling the resource method.
      Returns:
      updated builder object.
    • handlerParameters

      public ResourceMethod.Builder handlerParameters(Collection<Parameter> parameters)
      Parameters defined on the handler (i.e. not in the handling method), e.g. via property setters or fields.
      Parameters:
      parameters - handler parameters to be added to the set of handler parameters for the method.
      Returns:
      updated builder object.
      Since:
      2.20
    • handlingMethod

      public ResourceMethod.Builder handlingMethod(Method handlingMethod)
      Define a specific method of the handling class that will be executed. If the method is not defined then the method will be equal to the method initialized by one of the handledBy() builder methods.
      Parameters:
      handlingMethod - specific handling method.
      Returns:
      updated builder object.
    • routingResponseType

      public ResourceMethod.Builder routingResponseType(Type routingResponseType)
      Define the response entity type used during the routing for selection of the resource methods. If this method is not called then the Invocable.getRoutingResponseType() will be equal to Invocable.getResponseType() which is the default configuration state.
      Parameters:
      routingResponseType - Routing response type.
      Returns:
      updated builder object.
      See Also:
    • extended

      public ResourceMethod.Builder extended(boolean extended)
      Get the flag indicating whether the resource method is extended or is a core of exposed RESTful API. The method defines the flag available at ResourceMethod.isExtended().

      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.

      Parameters:
      extended - If true then resource method is marked as extended.
      Returns:
      updated builder object.
      Since:
      2.5.1
      See Also:
    • build

      public ResourceMethod build()
      Build the resource method model and register it with the parent Resource.Builder.
      Returns:
      new resource method model.