org.apache.tools.ant.util

Class ReflectWrapper


public class ReflectWrapper
extends java.lang.Object

Utility class to handle reflection on java objects. The class is a holder class for an object and uses java reflection to call methods on the objects. If things go wrong, BuildExceptions are thrown.

Constructor Summary

ReflectWrapper(ClassLoader loader, String name)
Construct a wrapped object using the no arg constructor.
ReflectWrapper(Object obj)
Constructor using a passed in object.

Method Summary

Object
getObject()
Object
invoke(String methodName)
Call a method on the object with no parameters.
Object
invoke(String methodName, Class argType, Object arg)
Call a method on the object with one argument.
Object
invoke(String methodName, Class argType1, Object arg1, Class argType2, Object arg2)
Call a method on the object with one argument.

Constructor Details

ReflectWrapper

public ReflectWrapper(ClassLoader loader,
                      String name)
Construct a wrapped object using the no arg constructor.
Parameters:
loader - the classloader to use to construct the class.
name - the classname of the object to construct.

ReflectWrapper

public ReflectWrapper(Object obj)
Constructor using a passed in object.
Parameters:
obj - the object to wrap.

Method Details

getObject

public Object getObject()
Returns:
the wrapped object.

invoke

public Object invoke(String methodName)
Call a method on the object with no parameters.
Parameters:
methodName - the name of the method to call
Returns:
the object returned by the method

invoke

public Object invoke(String methodName,
                     Class argType,
                     Object arg)
Call a method on the object with one argument.
Parameters:
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 Object invoke(String methodName,
                     Class argType1,
                     Object arg1,
                     Class argType2,
                     Object arg2)
Call a method on the object with one argument.
Parameters:
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