Class 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

      Constructors 
      Constructor Description
      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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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