org.apache.tools.ant.utilClass ReflectUtil
- java.lang.Object
- org.apache.tools.ant.util.ReflectUtil
public class ReflectUtil extends java.lang.Object
Utility class to handle reflection on java objects. The class contains static methods to call reflection methods, catch any exceptions, converting them to BuildExceptions.
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static java.lang.Object
getField(java.lang.Object obj, java.lang.String fieldName)
Get the value of a field in an object.static java.lang.Object
invoke(java.lang.Object obj, java.lang.String methodName)
Call a method on the object with no parameters.static java.lang.Object
invoke(java.lang.Object obj, java.lang.String methodName, java.lang.Class<?> argType, java.lang.Object arg)
Call a method on the object with one argument.static java.lang.Object
invoke(java.lang.Object obj, 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 two argument.static java.lang.Object
invokeStatic(java.lang.Object obj, java.lang.String methodName)
Call a method on the object with no parameters.static <T> T
newInstance(java.lang.Class<T> ofClass, java.lang.Class<?>[] argTypes, java.lang.Object[] args)
Create an instance of a class using the constructor matching the given arguments.static boolean
respondsTo(java.lang.Object o, java.lang.String methodName)
A method to test if an object responds to a given message (method call)static void
throwBuildException(java.lang.Exception t)
A method to convert an invocationTargetException to a buildexception and throw it.static BuildException
toBuildException(java.lang.Exception t)
A method to convert an invocationTargetException to a buildexception.
Method Detail
newInstance
public static <T> T newInstance(java.lang.Class<T> ofClass, java.lang.Class<?>[] argTypes, java.lang.Object[] args)Create an instance of a class using the constructor matching the given arguments.
- Type Parameters:
T
- desired type- Parameters:
ofClass
- Class<T>argTypes
- Class<?>[]args
- Object[]- Returns:
- class instance
- Since:
- Ant 1.8.0
invoke
public static java.lang.Object invoke(java.lang.Object obj, java.lang.String methodName)Call a method on the object with no parameters.
- Parameters:
obj
- the object to invoke the method on.methodName
- the name of the method to call- Returns:
- the object returned by the method
invokeStatic
public static java.lang.Object invokeStatic(java.lang.Object obj, java.lang.String methodName)Call a method on the object with no parameters. Note: Unlike the invoke method above, this calls class or static methods, not instance methods.
- Parameters:
obj
- the object to invoke the method on.methodName
- the name of the method to call- Returns:
- the object returned by the method
invoke
public static java.lang.Object invoke(java.lang.Object obj, java.lang.String methodName, java.lang.Class<?> argType, java.lang.Object arg)Call a method on the object with one argument.
- Parameters:
obj
- the object to invoke the method on.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 static java.lang.Object invoke(java.lang.Object obj, 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 two argument.
- Parameters:
obj
- the object to invoke the method on.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
getField
public static java.lang.Object getField(java.lang.Object obj, java.lang.String fieldName) throws BuildExceptionGet the value of a field in an object.
- Parameters:
obj
- the object to look at.fieldName
- the name of the field in the object.- Returns:
- the value of the field.
- Throws:
BuildException
- if there is an error.
throwBuildException
public static void throwBuildException(java.lang.Exception t) throws BuildExceptionA method to convert an invocationTargetException to a buildexception and throw it.
- Parameters:
t
- the invocation target exception.- Throws:
BuildException
- the converted exception.
toBuildException
public static BuildException toBuildException(java.lang.Exception t)A method to convert an invocationTargetException to a buildexception.
- Parameters:
t
- the invocation target exception.- Returns:
- the converted exception.
- Since:
- ant 1.7.1
respondsTo
public static boolean respondsTo(java.lang.Object o, java.lang.String methodName) throws BuildExceptionA method to test if an object responds to a given message (method call)
- Parameters:
o
- the objectmethodName
- the method to check for- Returns:
- true if the object has the method.
- Throws:
BuildException
- if there is a problem.