Package org.apache.tools.ant.util
Class ReflectUtil
java.lang.Object
org.apache.tools.ant.util.ReflectUtil
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
Modifier and TypeMethodDescriptionstatic <T> T
Get the value of a field in an object.static <T> T
Call a method on the object with no parameters.static <T> T
Call a method on the object with one argument.static <T> T
invoke
(Object obj, String methodName, Class<?> argType1, Object arg1, Class<?> argType2, Object arg2) Call a method on the object with two argument.static <T> T
invokeStatic
(Object obj, String methodName) Call a method on the object with no parameters.static <T> T
newInstance
(Class<T> ofClass, Class<?>[] argTypes, Object[] args) Create an instance of a class using the constructor matching the given arguments.static boolean
respondsTo
(Object o, String methodName) A method to test if an object responds to a given message (method call)static void
A method to convert an invocationTargetException to a BuildException and throw it.static BuildException
A method to convert an invocationTargetException to a BuildException.
-
Method Details
-
newInstance
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
-
invokeStatic
Call a method on the object with no parameters. Note: Unlike the invoke method above, this calls class or static methods, not instance methods.- Type Parameters:
T
- desired type- 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
Call a method on the object with one argument.- Type Parameters:
T
- desired type- 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 <T> T invoke(Object obj, String methodName, Class<?> argType1, Object arg1, Class<?> argType2, Object arg2) Call a method on the object with two argument.- Type Parameters:
T
- desired type- 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
Get the value of a field in an object.- Type Parameters:
T
- desired type- 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
A method to convert an invocationTargetException to a BuildException and throw it.- Parameters:
t
- the invocation target exception.- Throws:
BuildException
- the converted exception.
-
toBuildException
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
A 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.
-