Class InjectableMethod<X>

java.lang.Object
org.infinispan.cdi.common.util.InjectableMethod<X>
Type Parameters:
X - the declaring type

public class InjectableMethod<X> extends Object

Allows an AnnotatedMethod to be injected using the CDI type safe resolution rules.

ParameterValueRedefiner allows the default value to be overridden by the caller of invoke(Object, CreationalContext, ParameterValueRedefiner).

Author:
Pete Muir
  • Constructor Details

  • Method Details

    • getBeanManager

      protected BeanManager getBeanManager()
      Get the bean manager used by this injectable method.
      Returns:
      the bean manager in use
    • getParameters

      protected List<InjectionPoint> getParameters()
      Get the injectable parameters of this method.
      Returns:
      a collection of injection points representing the parameters of this method
    • invoke

      public <T> T invoke(Object receiver, CreationalContext<T> creationalContext)
      Invoke the method, causing all parameters to be injected according to the CDI type safe resolution rules.
      Type Parameters:
      T - the return type of the method
      Parameters:
      receiver - the instance upon which to call the method
      creationalContext - the creational context to use to obtain injectable references for each parameter
      Returns:
      the result of invoking the method or null if the method's return type is void
      Throws:
      RuntimeException - if this Method object enforces Java language access control and the underlying method is inaccessible or if the underlying method throws an exception or if the initialization provoked by this method fails.
      IllegalArgumentException - if the method is an instance method and the specified receiver argument is not an instance of the class or interface declaring the underlying method (or of a subclass or implementor thereof); if an unwrapping conversion for primitive arguments fails; or if, after possible unwrapping, a parameter value cannot be converted to the corresponding formal parameter type by a method invocation conversion.
      NullPointerException - if the specified receiver is null and the method is an instance method.
      ExceptionInInitializerError - if the initialization provoked by this method fails.
    • invoke

      public <T> T invoke(Object receiver, CreationalContext<T> creationalContext, ParameterValueRedefiner redefinition)
      Invoke the method, calling the parameter redefiner for each parameter, allowing the caller to override the default value obtained via the CDI type safe resolver.
      Type Parameters:
      T - the return type of the method
      Parameters:
      receiver - the instance upon which to call the method
      creationalContext - the creational context to use to obtain injectable references for each parameter
      Returns:
      the result of invoking the method or null if the method's return type is void
      Throws:
      RuntimeException - if this Method object enforces Java language access control and the underlying method is inaccessible or if the underlying method throws an exception or if the initialization provoked by this method fails.
      IllegalArgumentException - if the method is an instance method and the specified receiver argument is not an instance of the class or interface declaring the underlying method (or of a subclass or implementor thereof); if an unwrapping conversion for primitive arguments fails; or if, after possible unwrapping, a parameter value cannot be converted to the corresponding formal parameter type by a method invocation conversion.
      NullPointerException - if the specified receiver is null and the method is an instance method.
      ExceptionInInitializerError - if the initialization provoked by this method fails.