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

      Constructors 
      Constructor Description
      ReflectWrapper​(java.lang.ClassLoader loader, java.lang.String name)
      Construct a wrapped object using the no arg constructor.
      ReflectWrapper​(java.lang.Object obj)
      Constructor using a passed in object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      <T> T getObject()  
      <T> T invoke​(java.lang.String methodName)
      Call a method on the object with no parameters.
      <T> T invoke​(java.lang.String methodName, java.lang.Class<?> argType, java.lang.Object arg)
      Call a method on the object with one argument.
      <T> T invoke​(java.lang.String methodName, java.lang.Class<?> argType1, java.lang.Object arg1, java.lang.Class<?> argType2, java.lang.Object arg2)
      Call a method on the object with one argument.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ReflectWrapper

        public ReflectWrapper​(java.lang.ClassLoader loader,
                              java.lang.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​(java.lang.Object obj)
        Constructor using a passed in object.
        Parameters:
        obj - the object to wrap.
    • Method Detail

      • getObject

        public <T> T getObject()
        Type Parameters:
        T - desired type
        Returns:
        the wrapped object.
      • invoke

        public <T> T invoke​(java.lang.String methodName)
        Call a method on the object with no parameters.
        Type Parameters:
        T - desired type
        Parameters:
        methodName - the name of the method to call
        Returns:
        the object returned by the method
      • invoke

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