Class Invoker<T>

  • Type Parameters:
    T - the return type of the method invocation.

    public final class Invoker<T>
    extends java.lang.Object
    Understands the use of reflection to access a method from an object.

       // Equivalent to call 'person.setName("Luke")'
       method("setName").withParameterTypes(String.class)
                        .in(person)
                        .invoke("Luke");
    
       // Equivalent to call 'person.concentrate()'
       method("concentrate").in(person).invoke();
    
       // Equivalent to call 'person.getName()'
       String name = method("getName").withReturnType(String.class)
                                      .in(person)
                                      .invoke();
     

    Author:
    Yvonne Wang
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.reflect.Method info()
      Returns the "real" method managed by this class.
      T invoke​(java.lang.Object... args)
      Invokes the method managed by this class using the given arguments.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • invoke

        public T invoke​(java.lang.Object... args)
        Invokes the method managed by this class using the given arguments.
        Parameters:
        args - the arguments to use to call the method managed by this class.
        Returns:
        the result of the method call.
        Throws:
        ReflectionError - if the method cannot be invoked.
      • info

        public java.lang.reflect.Method info()
        Returns the "real" method managed by this class.
        Returns:
        the "real" method managed by this class.