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.
-
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 callargType
- 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 callargType1
- 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
-