net.sf.antcontrib.util

Class Reflector

public class Reflector extends Object

Utility class to handle reflection on java objects. Its main purpose is to allow ant-contrib classes to compile under ant1.5 but allow the classes to use ant1.6 classes and code if present. 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.

Author: Peter Reilly

Constructor Summary
Reflector(String name)
Constructor for the wrapper using a classname
Reflector(Object obj)
Constructor using a passed in object.
Method Summary
Objectcall(String methodName)
Call a method on the object with no parameters.
Objectcall(String methodName, Object o)
Call a method with one parameter.
Objectcall(String methodName, Object o1, Object o2)
Call a method with two parameters.
ObjectcallExplicit(String methodName, String className, Object o)
Call a method with an object using a specific type as for the method parameter.
ObjectcallExplicit(String methodName, Class classType, Object o)
Call a method with an object using a specific type as for the method parameter.
ObjectgetObject()

Constructor Detail

Reflector

public Reflector(String name)
Constructor for the wrapper using a classname

Parameters: name the classname of the object to construct.

Reflector

public Reflector(Object obj)
Constructor using a passed in object.

Parameters: obj the object to wrap.

Method Detail

call

public Object call(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

call

public Object call(String methodName, Object o)
Call a method with one parameter.

Parameters: methodName the name of the method to call o the object to use as the parameter, this must be of the same type as the method parameter (not a subclass).

Returns: the object returned by the method

call

public Object call(String methodName, Object o1, Object o2)
Call a method with two parameters.

Parameters: methodName the name of the method to call o1 the object to use as the first parameter, this must be of the same type as the method parameter (not a subclass). o2 the object to use as the second parameter, this must be of the same type as the method parameter (not a subclass).

Returns: the object returned by the method

callExplicit

public Object callExplicit(String methodName, String className, Object o)
Call a method with an object using a specific type as for the method parameter.

Parameters: methodName the name of the method className the name of the class of the parameter of the method o the object to use as the argument of the method

Returns: the object returned by the method

callExplicit

public Object callExplicit(String methodName, Class classType, Object o)
Call a method with an object using a specific type as for the method parameter.

Parameters: methodName the name of the method classType the class of the parameter of the method o the object to use as the argument of the method

Returns: the object returned by the method

getObject

public Object getObject()

Returns: the wrapped object.