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> TGet the value of a field in an object.static <T> TCall a method on the object with no parameters.static <T> TCall a method on the object with one argument.static <T> Tinvoke(Object obj, String methodName, Class<?> argType1, Object arg1, Class<?> argType2, Object arg2) Call a method on the object with two argument.static <T> TinvokeStatic(Object obj, String methodName) Call a method on the object with no parameters.static <T> TnewInstance(Class<T> ofClass, Class<?>[] argTypes, Object[] args) Create an instance of a class using the constructor matching the given arguments.static booleanrespondsTo(Object o, String methodName) A method to test if an object responds to a given message (method call)static voidA method to convert an invocationTargetException to a BuildException and throw it.static BuildExceptionA 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.
-