Class ReflectWrapper

java.lang.Object
org.apache.tools.ant.util.ReflectWrapper

public class ReflectWrapper
extends java.lang.Object
Utility class to handle reflection on java objects. The class is a holder class for an object and uses java reflection to call methods on the objects. If things go wrong, BuildExceptions are thrown.
  • Constructor Summary

    Constructors 
    Constructor Description
    ReflectWrapper​(java.lang.ClassLoader loader, java.lang.String name)
    Construct a wrapped object using the no arg constructor.
    ReflectWrapper​(java.lang.Object obj)
    Constructor using a passed in object.
  • Method Summary

    Modifier and Type Method Description
    <T> T getObject()  
    <T> T invoke​(java.lang.String methodName)
    Call a method on the object with no parameters.
    <T> T invoke​(java.lang.String methodName, java.lang.Class<?> argType, java.lang.Object arg)
    Call a method on the object with one argument.
    <T> T invoke​(java.lang.String methodName, java.lang.Class<?> argType1, java.lang.Object arg1, java.lang.Class<?> argType2, java.lang.Object arg2)
    Call a method on the object with one argument.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ReflectWrapper

      public ReflectWrapper​(java.lang.ClassLoader loader, java.lang.String name)
      Construct a wrapped object using the no arg constructor.
      Parameters:
      loader - the classloader to use to construct the class.
      name - the classname of the object to construct.
    • ReflectWrapper

      public ReflectWrapper​(java.lang.Object obj)
      Constructor using a passed in object.
      Parameters:
      obj - the object to wrap.
  • Method Details

    • getObject

      public <T> T getObject()
      Type Parameters:
      T - desired type
      Returns:
      the wrapped object.
    • invoke

      public <T> T invoke​(java.lang.String methodName)
      Call a method on the object with no parameters.
      Type Parameters:
      T - desired type
      Parameters:
      methodName - the name of the method to call
      Returns:
      the object returned by the method
    • invoke

      public <T> T invoke​(java.lang.String methodName, java.lang.Class<?> argType, java.lang.Object arg)
      Call a method on the object with one argument.
      Type Parameters:
      T - desired type
      Parameters:
      methodName - the name of the method to call
      argType - the type of argument.
      arg - the value of the argument.
      Returns:
      the object returned by the method
    • invoke

      public <T> T invoke​(java.lang.String methodName, java.lang.Class<?> argType1, java.lang.Object arg1, java.lang.Class<?> argType2, java.lang.Object arg2)
      Call a method on the object with one argument.
      Type Parameters:
      T - desired type
      Parameters:
      methodName - the name of the method to call
      argType1 - the type of the first argument.
      arg1 - the value of the first argument.
      argType2 - the type of the second argument.
      arg2 - the value of the second argument.
      Returns:
      the object returned by the method