Class IntrospectionUtils


  • public final class IntrospectionUtils
    extends java.lang.Object
    Utils for introspection and reflection
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void addJarsFromClassPath​(java.util.Vector<java.net.URL> jars, java.lang.String cp)
      Add elements from the classpath cp to a Vector jars as file URLs (We use Vector for JDK 1.1 compat).
      static boolean addProperty​(java.lang.Object o, java.lang.String name, java.lang.String value)  
      static void addToClassPath​(java.util.Vector<java.net.URL> cpV, java.lang.String dir)
      Add all the jar files in a dir to the classpath, represented as a Vector of URLs.
      static void addToolsJar​(java.util.Vector<java.net.URL> v)  
      static void callMain​(java.lang.Class<?> c, java.lang.String[] args)  
      static java.lang.Object callMethod0​(java.lang.Object target, java.lang.String methodN)  
      static java.lang.Object callMethod1​(java.lang.Object target, java.lang.String methodN, java.lang.Object param1, java.lang.String typeParam1, java.lang.ClassLoader cl)  
      static java.lang.Object callMethodN​(java.lang.Object target, java.lang.String methodN, java.lang.Object[] params, java.lang.Class<?>[] typeParams)  
      static java.lang.String capitalize​(java.lang.String name)
      Reverse of Introspector.decapitalize
      static void clear()  
      static java.lang.Object convert​(java.lang.String object, java.lang.Class<?> paramType)  
      static void execute​(java.lang.Object proxy, java.lang.String method)
      Call execute() - any ant-like task should work
      static java.lang.String[] findBooleanSetters​(java.lang.Class<?> c)  
      static java.lang.reflect.Method findMethod​(java.lang.Class<?> c, java.lang.String name, java.lang.Class<?>[] params)  
      static java.lang.reflect.Method[] findMethods​(java.lang.Class<?> c)  
      static java.lang.String[] findVoidSetters​(java.lang.Class<?> c)  
      static java.lang.Object getAttribute​(java.lang.Object proxy, java.lang.String name)
      Call void getAttribute( String )
      static java.net.URL[] getClassPath​(java.lang.String dir, java.lang.String cpath, java.lang.String cpathProp, boolean addTools)
      Construct a URL classpath from files in a directory, a cpath property, and tools.jar.
      static java.net.URL[] getClassPath​(java.util.Vector<java.net.URL> v)
      Return a URL[] that can be used to construct a class loader
      static java.lang.String[] getFilesByExt​(java.lang.String ld, java.lang.String ext)
      Return all files with a given extension in a dir
      static java.lang.Object getProperty​(java.lang.Object object, java.lang.String name)  
      static java.net.URL getURL​(java.lang.String base, java.lang.String file)
      Construct a file url from a file, using a base dir
      static boolean hasHook​(java.lang.Object obj, java.lang.String methodN)
      Test if the object implements a particular method
      static boolean invokeProperty​(java.lang.Object object, java.lang.String setter, java.lang.String name, java.lang.String value)  
      static boolean processArgs​(java.lang.Object proxy, java.lang.String[] args)  
      static boolean processArgs​(java.lang.Object proxy, java.lang.String[] args, java.lang.String[] args0, java.lang.String[] args1, java.util.Hashtable<java.lang.String,​java.lang.String> aliases)  
      static java.lang.String replaceProperties​(java.lang.String value, java.util.Hashtable<java.lang.String,​java.lang.String> staticProp, IntrospectionUtils.PropertySource[] dynamicProp)
      Replace ${NAME} with the property value
      static void setAttribute​(java.lang.Object proxy, java.lang.String name, java.lang.Object value)
      Call void setAttribute( String ,Object )
      static void setProperty​(java.lang.Object object, java.lang.String name)  
      static boolean setProperty​(java.lang.Object o, java.lang.String name, java.lang.String value)
      Find a method with the right name If found, call the method ( if param is int or boolean we'll convert value to the right type before) - that means you can have setDebug(1).
      static java.lang.String unCapitalize​(java.lang.String name)  
      • Methods inherited from class java.lang.Object

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

      • IntrospectionUtils

        public IntrospectionUtils()
    • Method Detail

      • execute

        public static void execute​(java.lang.Object proxy,
                                   java.lang.String method)
                            throws java.lang.Exception
        Call execute() - any ant-like task should work
        Throws:
        java.lang.Exception
      • setAttribute

        public static void setAttribute​(java.lang.Object proxy,
                                        java.lang.String name,
                                        java.lang.Object value)
                                 throws java.lang.Exception
        Call void setAttribute( String ,Object )
        Throws:
        java.lang.Exception
      • getAttribute

        public static java.lang.Object getAttribute​(java.lang.Object proxy,
                                                    java.lang.String name)
                                             throws java.lang.Exception
        Call void getAttribute( String )
        Throws:
        java.lang.Exception
      • setProperty

        public static final boolean setProperty​(java.lang.Object o,
                                                java.lang.String name,
                                                java.lang.String value)
        Find a method with the right name If found, call the method ( if param is int or boolean we'll convert value to the right type before) - that means you can have setDebug(1).
      • addProperty

        public static final boolean addProperty​(java.lang.Object o,
                                                java.lang.String name,
                                                java.lang.String value)
      • invokeProperty

        public static final boolean invokeProperty​(java.lang.Object object,
                                                   java.lang.String setter,
                                                   java.lang.String name,
                                                   java.lang.String value)
      • getProperty

        public static java.lang.Object getProperty​(java.lang.Object object,
                                                   java.lang.String name)
      • setProperty

        public static void setProperty​(java.lang.Object object,
                                       java.lang.String name)
      • replaceProperties

        public static java.lang.String replaceProperties​(java.lang.String value,
                                                         java.util.Hashtable<java.lang.String,​java.lang.String> staticProp,
                                                         IntrospectionUtils.PropertySource[] dynamicProp)
        Replace ${NAME} with the property value
      • capitalize

        public static java.lang.String capitalize​(java.lang.String name)
        Reverse of Introspector.decapitalize
      • unCapitalize

        public static java.lang.String unCapitalize​(java.lang.String name)
      • addToClassPath

        public static void addToClassPath​(java.util.Vector<java.net.URL> cpV,
                                          java.lang.String dir)
        Add all the jar files in a dir to the classpath, represented as a Vector of URLs.
      • addToolsJar

        public static void addToolsJar​(java.util.Vector<java.net.URL> v)
      • getFilesByExt

        public static java.lang.String[] getFilesByExt​(java.lang.String ld,
                                                       java.lang.String ext)
        Return all files with a given extension in a dir
      • getURL

        public static java.net.URL getURL​(java.lang.String base,
                                          java.lang.String file)
        Construct a file url from a file, using a base dir
      • addJarsFromClassPath

        public static void addJarsFromClassPath​(java.util.Vector<java.net.URL> jars,
                                                java.lang.String cp)
                                         throws java.io.IOException,
                                                java.net.MalformedURLException
        Add elements from the classpath cp to a Vector jars as file URLs (We use Vector for JDK 1.1 compat).

        Parameters:
        jars - The jar list
        cp - a String classpath of directory or jar file elements separated by path.separator delimiters.
        Throws:
        java.io.IOException - If an I/O error occurs
        java.net.MalformedURLException - Doh ;)
      • getClassPath

        public static java.net.URL[] getClassPath​(java.util.Vector<java.net.URL> v)
        Return a URL[] that can be used to construct a class loader
      • getClassPath

        public static java.net.URL[] getClassPath​(java.lang.String dir,
                                                  java.lang.String cpath,
                                                  java.lang.String cpathProp,
                                                  boolean addTools)
                                           throws java.io.IOException,
                                                  java.net.MalformedURLException
        Construct a URL classpath from files in a directory, a cpath property, and tools.jar.
        Throws:
        java.io.IOException
        java.net.MalformedURLException
      • processArgs

        public static boolean processArgs​(java.lang.Object proxy,
                                          java.lang.String[] args)
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • processArgs

        public static boolean processArgs​(java.lang.Object proxy,
                                          java.lang.String[] args,
                                          java.lang.String[] args0,
                                          java.lang.String[] args1,
                                          java.util.Hashtable<java.lang.String,​java.lang.String> aliases)
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • clear

        public static void clear()
      • findVoidSetters

        public static java.lang.String[] findVoidSetters​(java.lang.Class<?> c)
      • findBooleanSetters

        public static java.lang.String[] findBooleanSetters​(java.lang.Class<?> c)
      • findMethods

        public static java.lang.reflect.Method[] findMethods​(java.lang.Class<?> c)
      • findMethod

        public static java.lang.reflect.Method findMethod​(java.lang.Class<?> c,
                                                          java.lang.String name,
                                                          java.lang.Class<?>[] params)
      • hasHook

        public static boolean hasHook​(java.lang.Object obj,
                                      java.lang.String methodN)
        Test if the object implements a particular method
      • callMain

        public static void callMain​(java.lang.Class<?> c,
                                    java.lang.String[] args)
                             throws java.lang.Exception
        Throws:
        java.lang.Exception
      • callMethod1

        public static java.lang.Object callMethod1​(java.lang.Object target,
                                                   java.lang.String methodN,
                                                   java.lang.Object param1,
                                                   java.lang.String typeParam1,
                                                   java.lang.ClassLoader cl)
                                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • callMethod0

        public static java.lang.Object callMethod0​(java.lang.Object target,
                                                   java.lang.String methodN)
                                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • callMethodN

        public static java.lang.Object callMethodN​(java.lang.Object target,
                                                   java.lang.String methodN,
                                                   java.lang.Object[] params,
                                                   java.lang.Class<?>[] typeParams)
                                            throws java.lang.Exception
        Throws:
        java.lang.Exception
      • convert

        public static java.lang.Object convert​(java.lang.String object,
                                               java.lang.Class<?> paramType)