All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.resteasy.spi.MethodInjector Maven / Gradle / Ivy

The newest version!
package org.jboss.resteasy.spi;

import java.util.concurrent.CompletionStage;

import org.jboss.resteasy.core.ValueInjector;

/**
 * Will invoke a method in the context of an HTTP request.  Does all the parameter injection for you.
 *
 * @author Bill Burke
 * @version $Revision: 1 $
 */
public interface MethodInjector
{
   /**
    * Invoke on a method in the context of an HTTP request. Does all JAX-RS parameter injection.
    *
    * @param request http request
    * @param response http response
    * @param target target object
    * @return returned object
    * @throws Failure if application failure occurred
    */
   CompletionStage invoke(HttpRequest request, HttpResponse response, Object target) throws Failure, ApplicationException;

   /**
    * Create the arguments that would be used to invoke the method in the context of an HTTP request.
    *
    * @param request http request
    * @param response http response
    * @return array of arguments
    * @throws Failure if application failure occurred
    */
   CompletionStage injectArguments(HttpRequest request, HttpResponse response) throws Failure;

   ValueInjector[] getParams();

   boolean expectsBody();
}