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 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 java.lang.String escape​(java.lang.String s)  
      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.Object getProperty​(java.lang.Object o, java.lang.String name)  
      static boolean isInstance​(java.lang.Class<?> clazz, java.lang.String type)
      Checks to see if the specified class is an instance of or assignable from the specified type.
      static java.lang.String replaceProperties​(java.lang.String value, java.util.Hashtable<java.lang.Object,​java.lang.Object> staticProp, IntrospectionUtils.PropertySource[] dynamicProp, java.lang.ClassLoader classLoader)
      Replaces ${NAME} in the value with the value of the property '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 boolean setProperty​(java.lang.Object o, java.lang.String name, java.lang.String value, boolean invokeSetProperty)  
      static boolean setProperty​(java.lang.Object o, java.lang.String name, java.lang.String value, boolean invokeSetProperty, java.lang.StringBuilder actualMethod)  
      • 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

      • setProperty

        public 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).
        Parameters:
        o - The object to set a property on
        name - The property name
        value - The property value
        Returns:
        true if operation was successful
      • setProperty

        public static boolean setProperty​(java.lang.Object o,
                                          java.lang.String name,
                                          java.lang.String value,
                                          boolean invokeSetProperty)
      • setProperty

        public static boolean setProperty​(java.lang.Object o,
                                          java.lang.String name,
                                          java.lang.String value,
                                          boolean invokeSetProperty,
                                          java.lang.StringBuilder actualMethod)
      • escape

        public static java.lang.String escape​(java.lang.String s)
        Parameters:
        s - the input string
        Returns:
        escaped string, per Java rule
      • getProperty

        public static java.lang.Object getProperty​(java.lang.Object o,
                                                   java.lang.String name)
      • replaceProperties

        public static java.lang.String replaceProperties​(java.lang.String value,
                                                         java.util.Hashtable<java.lang.Object,​java.lang.Object> staticProp,
                                                         IntrospectionUtils.PropertySource[] dynamicProp,
                                                         java.lang.ClassLoader classLoader)
        Replaces ${NAME} in the value with the value of the property 'NAME'. Replaces ${NAME:DEFAULT} with the value of the property 'NAME:DEFAULT', if the property 'NAME:DEFAULT' is not set, the expression is replaced with the value of the property 'NAME', if the property 'NAME' is not set, the expression is replaced with 'DEFAULT'. If the property is not set and there is no default the value will be returned unmodified.
        Parameters:
        value - The value
        staticProp - Replacement properties
        dynamicProp - Replacement properties
        classLoader - Class loader associated with the code requesting the property
        Returns:
        the replacement value
      • capitalize

        public static java.lang.String capitalize​(java.lang.String name)
        Reverse of Introspector.decapitalize.
        Parameters:
        name - The name
        Returns:
        the capitalized string
      • clear

        public static void clear()
      • 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)
      • 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
      • 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)
      • isInstance

        public static boolean isInstance​(java.lang.Class<?> clazz,
                                         java.lang.String type)
        Checks to see if the specified class is an instance of or assignable from the specified type. The class clazz, all its superclasses, interfaces and those superinterfaces are tested for a match against the type name type. This is similar to instanceof or Class.isAssignableFrom(java.lang.Class<?>) except that the target type will not be resolved into a Class object, which provides some security and memory benefits.
        Parameters:
        clazz - The class to test for a match.
        type - The name of the type that clazz must be.
        Returns:
        true if the clazz tested is an instance of the specified type, false otherwise.