org.glassfish.jersey.server.spi.internal
Interface ResourceMethodDispatcher
- All Known Implementing Classes:
- AbstractJavaResourceMethodDispatcher
public interface ResourceMethodDispatcher
A resource method dispatcher responsible for consuming a JAX-RS request
by invoking the configured resource method on a given
resource instance and returning the method invocation result in a form of a
JAX-RS response.
- Author:
- Marek Potociar (marek.potociar at oracle.com), Jakub Podlesak (jakub.podlesak at oracle.com)
dispatch
javax.ws.rs.core.Response dispatch(Object resource,
javax.ws.rs.core.Request request)
throws ProcessingException
- Reflectively dispatch a request to the underlying
invocable resource method via the configured invocation handler using the provided resource class instance.
In summary, the main job of the dispatcher is to convert a request into
an array of the Java method input parameters and subsequently convert the
returned response of an arbitrary Java type to a JAX-RS response
instance.
When the method is invoked, the dispatcher will extract the Java
method information from the invocable resource method and
use the information to retrieve the required input parameters from either
the request instance or any other available run-time information. Once the
set of input parameter values is computed, the underlying invocation handler
instance is invoked to process (invoke) the Java resource method with the
computed input parameter values. The returned response is subsequently converted
into a JAX-RS Response type and returned from the dispatcher.
It is assumed that the supplied resource implements the invocable method.
Dispatcher implementation should not need to do any additional checks in
that respect.
- Parameters:
resource - the resource class instance.request - request to be dispatched.
- Returns:
response for the dispatched request.
- Throws:
ProcessingException - (possibly mappable)
container exception that will be handled by the Jersey server container.
Copyright © 2007-2012 Oracle Corporation. All Rights Reserved. Use is subject to license terms.