Class ClassUtil


  • public final class ClassUtil
    extends Object
    Various utilities used for classes.
    • Method Detail

      • objectIsArray

        public static boolean objectIsArray​(Object o)
        Test whether an Object is an array
        Parameters:
        o - object to test
        Returns:
        true if the object is an array, false otherwise.
      • classIsArray

        public static boolean classIsArray​(Class theClass)
        Test whether a Class is an array
        Parameters:
        theClass - class to test
        Returns:
        true if the class is an array, false otherwise.
      • objectIsPrimitiveArray

        public static boolean objectIsPrimitiveArray​(Object o)
        Test whether an Object is an array of primitive types
        Parameters:
        o - object to test
        Returns:
        true if the object is an array, false otherwise.
      • classnameIsArray

        public static boolean classnameIsArray​(String classname)
        Test whether a classname is an array
        Parameters:
        classname - classname string
        Returns:
        true if the object is an array, false otherwise.
      • classnameIsPrimitiveArray

        public static boolean classnameIsPrimitiveArray​(String classname)
        Test whether a classname is a primitive array
        Parameters:
        classname - classname string
        Returns:
        true if the object is a primitive array, false otherwise.
      • getPrimitiveArrayTypeCode

        public static char getPrimitiveArrayTypeCode​(Class theClass)
        Return the primitive element type code for an array of primitive types. Same as getPrimitiveArrayTypeCode( theClass.getName() )
        Parameters:
        theClass - the Class object
        Returns:
        the element type code; otherwise (char)0
      • getPrimitiveArrayTypeCode

        public static char getPrimitiveArrayTypeCode​(String classname)
        Return the primitive element type code for an array of primitive types.
        Parameters:
        classname - classname string
        Returns:
        the element type code; otherwise (char)0
      • getArrayMemberClassName

        public static String getArrayMemberClassName​(String classname)
        Get the classname for an array element.
        Parameters:
        classname - classname string
        Returns:
        the classname for the array element
      • getClassFromName

        public static Class getClassFromName​(String classname)
                                      throws ClassNotFoundException
        Get a Class from a classname. Class.forName does not work for primitive types; this methods returns the correct Class for any type.
        Parameters:
        classname - classname string
        Returns:
        the classname for the array element
        Throws:
        ClassNotFoundException - if the class cannot be found
      • primitiveClassToObjectClass

        public static Class primitiveClassToObjectClass​(Class theClass)
        Map primitive class Classes to Object forms eg int.class to Integer.class
        Parameters:
        theClass - the class to map
        Returns:
        the corresponding Object class or the original Class if not a primitive.
      • isPrimitiveClass

        public static boolean isPrimitiveClass​(Class theClass)
        Test whether a class is a primitive class.
        Parameters:
        theClass - the class to test
        Returns:
        true if it's a primitive class, false otherwise.
      • primitiveLetterToClassName

        public static String primitiveLetterToClassName​(char primitive)
      • getTypes

        public static String[] getTypes​(Object[] args)
      • getFriendlyClassname

        public static String getFriendlyClassname​(Class theClass)
      • getFriendlyClassname

        public static String getFriendlyClassname​(String type)
      • getArrayElementClass

        public static Class getArrayElementClass​(Class arrayClass)
      • signaturesAreCompatible

        public static boolean signaturesAreCompatible​(Class[] callee,
                                                      Class[] argsSignature)
        Return true if caller signature is compatible with callee.
        Parameters:
        callee - the signature of the method to be called
        argsSignature - the signature of the argument list
      • instantiateFromString

        public static Object instantiateFromString​(Class theClass,
                                                   String theString)
                                            throws Exception
        Given a Class and a String, create a new instance with a constructor that accept a String. Primitive types are instantiated as their equivalent Object forms.
        Parameters:
        theClass - the class from which an instance should be instantiated
        theString - the string to be supplied to the constructor
        Throws:
        Exception
      • instantiateDefault

        public static Object instantiateDefault​(Class inClass)
                                         throws Exception
        Given a Class, create a new instance with an empty constructor. Primitive types are instantiated as their equivalent Object forms. Any value is acceptable in the newly created object.
        Parameters:
        inClass - the class from which an instance should be instantiated
        Throws:
        Exception
      • expandClassName

        public static String expandClassName​(String name)