Package org.jboss.resteasy.core

## Class MethodInjectorImpl

- java.lang.Object
- - org.jboss.resteasy.core.MethodInjectorImpl

- All Implemented Interfaces:
    `MethodInjector`

      public class MethodInjectorImpl
      extends Object
      implements MethodInjector

  Version:
    $Revision: 1 $
  Author:
    Bill Burke

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected boolean` | `expectsBody` |
    `protected ResteasyProviderFactory` | `factory` |
    `protected Method` | `interfaceBasedMethod` |
    `protected ResourceLocator` | `method` |
    `protected ValueInjector[]` | `params` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `MethodInjectorImpl​(ResourceLocator resourceMethod, ResteasyProviderFactory factory)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `expectsBody()` |
    `static Method` | `findInterfaceBasedMethod​(Class<?> root, Method method)` |
    `ValueInjector[]` | `getParams()` |
    `Object` | `injectArguments​(HttpRequest input, HttpResponse response)` | Create the arguments that would be used to invoke the method in the context of an HTTP request.
    `Object` | `invoke​(HttpRequest request, HttpResponse httpResponse, Object resource)` | Invoke on a method in the context of an HTTP request.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### params

          protected ValueInjector[] params

    - #### factory

          protected ResteasyProviderFactory factory

    - #### method

          protected ResourceLocator method

    - #### interfaceBasedMethod

          protected Method interfaceBasedMethod

    - #### expectsBody

          protected boolean expectsBody

  - ### Constructor Detail

    - #### MethodInjectorImpl

          public MethodInjectorImpl​(ResourceLocator resourceMethod,
                                    ResteasyProviderFactory factory)

  - ### Method Detail

    - #### expectsBody

          public boolean expectsBody()

      Specified by:
        `expectsBody` in interface `MethodInjector`

    - #### findInterfaceBasedMethod

          public static Method findInterfaceBasedMethod​(Class<?> root,
                                                        Method method)

    - #### getParams

          public ValueInjector[] getParams()

      Specified by:
        `getParams` in interface `MethodInjector`

    - #### injectArguments

          public Object injectArguments​(HttpRequest input,
                                        HttpResponse response)

      Description copied from interface: `MethodInjector`
      Create the arguments that would be used to invoke the method in the context of an HTTP request.
      Specified by:
        `injectArguments` in interface `MethodInjector`
      Parameters:
        `input` - http request
        `response` - http response
      Returns:
        array of arguments or CompletionStage if args need to be constructed async

    - #### invoke

          public Object invoke​(HttpRequest request,
                               HttpResponse httpResponse,
                               Object resource)
                        throws Failure,
                               ApplicationException

      Description copied from interface: `MethodInjector`
      Invoke on a method in the context of an HTTP request. Does all JAX-RS parameter injection.
      Specified by:
        `invoke` in interface `MethodInjector`
      Parameters:
        `request` - http request
        `httpResponse` - http response
        `resource` - target object
      Returns:
        returned object or CompletionStage
      Throws:
        `Failure` - if application failure occurred
        `ApplicationException`