net.sf.antcontrib.util
Class Reflector

java.lang.Object
  extended by net.sf.antcontrib.util.Reflector

public class Reflector
extends java.lang.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(java.lang.Object obj)
          Constructor using a passed in object.
Reflector(java.lang.String name)
          Constructor for the wrapper using a classname
 
Method Summary
 java.lang.Object call(java.lang.String methodName)
          Call a method on the object with no parameters.
 java.lang.Object call(java.lang.String methodName, java.lang.Object o)
          Call a method with one parameter.
 java.lang.Object call(java.lang.String methodName, java.lang.Object o1, java.lang.Object o2)
          Call a method with two parameters.
 java.lang.Object callExplicit(java.lang.String methodName, java.lang.Class classType, java.lang.Object o)
          Call a method with an object using a specific type as for the method parameter.
 java.lang.Object callExplicit(java.lang.String methodName, java.lang.String className, java.lang.Object o)
          Call a method with an object using a specific type as for the method parameter.
 java.lang.Object getObject()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Reflector

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

Parameters:
name - the classname of the object to construct.

Reflector

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

Parameters:
obj - the object to wrap.
Method Detail

getObject

public java.lang.Object getObject()
Returns:
the wrapped object.

call

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

callExplicit

public java.lang.Object callExplicit(java.lang.String methodName,
                                     java.lang.String className,
                                     java.lang.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 java.lang.Object callExplicit(java.lang.String methodName,
                                     java.lang.Class classType,
                                     java.lang.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

call

public java.lang.Object call(java.lang.String methodName,
                             java.lang.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 java.lang.Object call(java.lang.String methodName,
                             java.lang.Object o1,
                             java.lang.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