Class Invoker<T>

  • Type Parameters:
    T - the class in which the constructor is declared.

    The following is an example of proper usage of the classes in this package:

       // Equivalent to call 'new Person()'
       Person p = constructor().in(Person.class).newInstance();
    
       // Equivalent to call 'new Person("Yoda")'
       Person p = constructor().withParameterTypes(String.class).in(Person.class).newInstance("Yoda");
     


    public final class Invoker<T>
    extends java.lang.Object
    Understands the invocation of a constructor via Java Reflection.
    Author:
    Alex Ruiz, Yvonne Wang
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.reflect.Constructor<T> info()
      Returns the "real" constructor managed by this class.
      T newInstance​(java.lang.Object... args)
      Creates a new instance of T by calling a constructor with the given arguments.
      static <T> Invoker<T> newInvoker​(java.lang.Class<T> target, java.lang.Class<?>... parameterTypes)  
      • Methods inherited from class java.lang.Object

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

      • newInvoker

        public static <T> Invoker<T> newInvoker​(java.lang.Class<T> target,
                                                java.lang.Class<?>... parameterTypes)
      • newInstance

        public T newInstance​(java.lang.Object... args)
        Creates a new instance of T by calling a constructor with the given arguments.
        Parameters:
        args - the arguments to pass to the constructor (can be zero or more).
        Returns:
        the created instance of T.
        Throws:
        ReflectionError - if a new instance cannot be created.
      • info

        public java.lang.reflect.Constructor<T> info()
        Returns the "real" constructor managed by this class.
        Returns:
        the "real" constructor managed by this class.