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