Package org.apache.tools.ant.util

# 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