Package com.sun.enterprise.admin.util
Class ClassUtil
- java.lang.Object
-
- com.sun.enterprise.admin.util.ClassUtil
-
public final class ClassUtil extends Object
Various utilities used for classes.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
classIsArray(Class theClass)
Test whether a Class is an arraystatic boolean
classnameIsArray(String classname)
Test whether a classname is an arraystatic boolean
classnameIsPrimitiveArray(String classname)
Test whether a classname is a primitive arraystatic Class
convertArrayClass(Class arrayClass, Class newInnerType)
Convert inner element.static String
expandClassName(String name)
static Class
getArrayElementClass(Class arrayClass)
static String
getArrayMemberClassName(String classname)
Get the classname for an array element.static Class
getClassFromName(String classname)
Get a Class from a classname.static String
getFriendlyClassname(Class theClass)
static String
getFriendlyClassname(String type)
static Class
getInnerArrayElementClass(Class arrayClass)
static char
getPrimitiveArrayTypeCode(Class theClass)
Return the primitive element type code for an array of primitive types.static char
getPrimitiveArrayTypeCode(String classname)
Return the primitive element type code for an array of primitive types.static String[]
getTypes(Object[] args)
static Object
instantiateDefault(Class inClass)
Given a Class, create a new instance with an empty constructor.static Object
instantiateFromString(Class theClass, String theString)
Given a Class and a String, create a new instance with a constructor that accept a String.static Object
instantiateObject(Class theClass, Object[] args)
static Object
instantiateObject(Class theClass, String theString)
static boolean
isPrimitiveClass(Class theClass)
Test whether a class is a primitive class.static boolean
objectIsArray(Object o)
Test whether an Object is an arraystatic boolean
objectIsPrimitiveArray(Object o)
Test whether an Object is an array of primitive typesstatic Class
primitiveClassToObjectClass(Class theClass)
Map primitive class Classes to Object forms eg int.class to Integer.classstatic String
primitiveLetterToClassName(char primitive)
static boolean
signaturesAreCompatible(Class[] callee, Class[] argsSignature)
Return true if caller signature is compatible with callee.
-
-
-
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)
-
getInnerArrayElementClass
public static Class getInnerArrayElementClass(Class arrayClass) throws ClassNotFoundException
- Throws:
ClassNotFoundException
-
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 calledargsSignature
- the signature of the argument list
-
instantiateObject
public static Object instantiateObject(Class theClass, Object[] args) throws Exception
- Throws:
Exception
-
instantiateObject
public static Object instantiateObject(Class theClass, String theString) throws Exception
- Throws:
Exception
-
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 instantiatedtheString
- 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
-
convertArrayClass
public static Class convertArrayClass(Class arrayClass, Class newInnerType) throws ClassNotFoundException
Convert inner element. Only works for arrays of Objects. Example: mapActualElementClass( "[[[LObject;", "Long" ) =>[[[LLong;- Throws:
ClassNotFoundException
-
-