Package org.apache.tools.ant.util

# Class ReflectWrapper

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

public class ReflectWrapper extends 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(ClassLoader loader, String name)`
Construct a wrapped object using the no arg constructor.
`ReflectWrapper(Object obj)`
Constructor using a passed in object.

## Method Summary

Modifier and Type
Method
Description
`<T> T`
`getObject()`
`<T> T`
`invoke(String methodName)`
Call a method on the object with no parameters.
`<T> T`
`invoke(String methodName, Class<?> argType, Object arg)`
Call a method on the object with one argument.
`<T> T`
`invoke(String methodName, Class<?> argType1, Object arg1, Class<?> argType2, 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(ClassLoader loader, 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(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(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(String methodName, Class<?> argType, 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(String methodName, Class<?> argType1, Object arg1, Class<?> argType2, 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