org.apache.tools.ant.util

Class ReflectUtil

public class ReflectUtil extends 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
static ObjectgetField(Object obj, String fieldName)
Get the value of a field in an object.
static Objectinvoke(Object obj, String methodName)
Call a method on the object with no parameters.
static Objectinvoke(Object obj, String methodName, Class argType, Object arg)
Call a method on the object with one argument.
static Objectinvoke(Object obj, String methodName, Class argType1, Object arg1, Class argType2, Object arg2)
Call a method on the object with two argument.
static ObjectinvokeStatic(Object obj, String methodName)
Call a method on the object with no parameters.
static booleanrespondsTo(Object o, String methodName)
A method to test if an object responds to a given message (method call)
static voidthrowBuildException(Exception t)
A method to convert an invocationTargetException to a buildexception and throw it.
static BuildExceptiontoBuildException(Exception t)
A method to convert an invocationTargetException to a buildexception.

Method Detail

getField

public static Object getField(Object obj, String fieldName)
Get 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.

invoke

public static Object invoke(Object obj, 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

invoke

public static Object invoke(Object obj, String methodName, Class argType, 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 call argType the type of argument. arg the value of the argument.

Returns: the object returned by the method

invoke

public static Object invoke(Object obj, String methodName, Class argType1, Object arg1, Class argType2, 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 call argType1 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

invokeStatic

public static Object invokeStatic(Object obj, 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

respondsTo

public static boolean respondsTo(Object o, String methodName)
A method to test if an object responds to a given message (method call)

Parameters: o the object methodName the method to check for

Returns: true if the object has the method.

Throws: BuildException if there is a problem.

throwBuildException

public static void throwBuildException(Exception t)
A 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(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