org.jboss.util
Class Classes

java.lang.Object
  extended byorg.jboss.util.Classes

public final class Classes
extends java.lang.Object

A collection of Class utilities.


Field Summary
static java.lang.String DEFAULT_PACKAGE_NAME
          The default package name.
static java.lang.String PACKAGE_SEPARATOR
          The string used to separator packages
static char PACKAGE_SEPARATOR_CHAR
          The characther used to separator packages
 
Constructor Summary
Classes()
           
 
Method Summary
static java.lang.Class[] convertToJavaClasses(java.util.Iterator it, java.lang.ClassLoader cl)
          Convert a list of Strings from an Interator into an array of Classes (the Strings are taken as classnames).
static void forceLoad(java.lang.Class type)
          Force the given class to be loaded fully.
static java.lang.reflect.Method getAttributeGetter(java.lang.Class cls, java.lang.String attr)
          Returns attribute's getter method.
static java.lang.reflect.Method getAttributeSetter(java.lang.Class cls, java.lang.String attr, java.lang.Class type)
          Returns attribute's setter method.
static java.lang.String getPackageName(java.lang.Class type)
          Get the package name of the specified class.
static java.lang.String getPackageName(java.lang.String classname)
          Get the package name of the specified class.
static java.lang.Class getPrimitiveTypeForName(java.lang.String name)
          Get the primitive type for the given primitive name.
static java.lang.Class getPrimitiveWrapper(java.lang.Class type)
          Get the wrapper class for the given primitive type.
static boolean isPrimitive(java.lang.Class type)
          Check if the given class is a primitive class or a primitive wrapper class.
static boolean isPrimitive(java.lang.String type)
          Check type against boolean, byte, char, short, int, long, float, double.
static boolean isPrimitiveWrapper(java.lang.Class type)
          Check if the given class is a primitive wrapper class.
static java.lang.Class loadClass(java.lang.String className)
          This method acts equivalently to invoking Thread.currentThread().getContextClassLoader().loadClass(className); but it also supports primitive types and array classes of object types or primitive types.
static java.lang.Class loadClass(java.lang.String className, java.lang.ClassLoader classLoader)
          This method acts equivalently to invoking classLoader.loadClass(className) but it also supports primitive types and array classes of object types or primitive types.
static java.lang.String stripPackageName(java.lang.Class type)
          Get the short name of the specified class by striping off the package name.
static java.lang.String stripPackageName(java.lang.String classname)
          Get the short name of the specified class by striping off the package name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PACKAGE_SEPARATOR

public static final java.lang.String PACKAGE_SEPARATOR
The string used to separator packages

See Also:
Constant Field Values (src)

PACKAGE_SEPARATOR_CHAR

public static final char PACKAGE_SEPARATOR_CHAR
The characther used to separator packages

See Also:
Constant Field Values (src)

DEFAULT_PACKAGE_NAME

public static final java.lang.String DEFAULT_PACKAGE_NAME
The default package name.

See Also:
Constant Field Values (src)
Constructor Detail

Classes

public Classes()
Method Detail

stripPackageName

public static java.lang.String stripPackageName(java.lang.String classname)
Get the short name of the specified class by striping off the package name.

Parameters:
classname - Class name.
Returns:
Short class name.

stripPackageName

public static java.lang.String stripPackageName(java.lang.Class type)
Get the short name of the specified class by striping off the package name.

Parameters:
type - Class name.
Returns:
Short class name.

getPackageName

public static java.lang.String getPackageName(java.lang.String classname)
Get the package name of the specified class.

Parameters:
classname - Class name.
Returns:
Package name or "" if the classname is in the default package.
Throws:
EmptyStringException (src) - Classname is an empty string.

getPackageName

public static java.lang.String getPackageName(java.lang.Class type)
Get the package name of the specified class.

Parameters:
type - Class.
Returns:
Package name.

forceLoad

public static void forceLoad(java.lang.Class type)
Force the given class to be loaded fully.

This method attempts to locate a static method on the given class the attempts to invoke it with dummy arguments in the hope that the virtual machine will prepare the class for the method call and call all of the static class initializers.

Parameters:
type - Class to force load.
Throws:
NullArgumentException (src) - Type is null.

getPrimitiveTypeForName

public static java.lang.Class getPrimitiveTypeForName(java.lang.String name)
Get the primitive type for the given primitive name.

For example, "boolean" returns Boolean.TYPE and so on...

Parameters:
name - Primitive type name (boolean, int, byte, ...)
Returns:
Primitive type or null.
Throws:
java.lang.IllegalArgumentException - Type is not a primitive class

getPrimitiveWrapper

public static java.lang.Class getPrimitiveWrapper(java.lang.Class type)
Get the wrapper class for the given primitive type.

Parameters:
type - Primitive class.
Returns:
Wrapper class for primitive.
Throws:
java.lang.IllegalArgumentException - Type is not a primitive class

isPrimitiveWrapper

public static boolean isPrimitiveWrapper(java.lang.Class type)
Check if the given class is a primitive wrapper class.

Parameters:
type - Class to check.
Returns:
True if the class is a primitive wrapper.

isPrimitive

public static boolean isPrimitive(java.lang.Class type)
Check if the given class is a primitive class or a primitive wrapper class.

Parameters:
type - Class to check.
Returns:
True if the class is a primitive or primitive wrapper.

isPrimitive

public static boolean isPrimitive(java.lang.String type)
Check type against boolean, byte, char, short, int, long, float, double.

Parameters:
type - The java type name
Returns:
true if this is a primative type name.

loadClass

public static java.lang.Class loadClass(java.lang.String className)
                                 throws java.lang.ClassNotFoundException
This method acts equivalently to invoking Thread.currentThread().getContextClassLoader().loadClass(className); but it also supports primitive types and array classes of object types or primitive types.

Parameters:
className - the qualified name of the class or the name of primitive type or array in the same format as returned by the java.lang.Class.getName() method.
Returns:
the Class object for the requested className
Throws:
java.lang.ClassNotFoundException - when the classLoader can not find the requested class

loadClass

public static java.lang.Class loadClass(java.lang.String className,
                                        java.lang.ClassLoader classLoader)
                                 throws java.lang.ClassNotFoundException
This method acts equivalently to invoking classLoader.loadClass(className) but it also supports primitive types and array classes of object types or primitive types.

Parameters:
className - the qualified name of the class or the name of primitive type or array in the same format as returned by the java.lang.Class.getName() method.
classLoader - the ClassLoader used to load classes
Returns:
the Class object for the requested className
Throws:
java.lang.ClassNotFoundException - when the classLoader can not find the requested class

convertToJavaClasses

public static final java.lang.Class[] convertToJavaClasses(java.util.Iterator it,
                                                           java.lang.ClassLoader cl)
                                                    throws java.lang.ClassNotFoundException
Convert a list of Strings from an Interator into an array of Classes (the Strings are taken as classnames).

Parameters:
it - A java.util.Iterator pointing to a Collection of Strings
cl - The ClassLoader to use
Returns:
Array of Classes
Throws:
java.lang.ClassNotFoundException - When a class could not be loaded from the specified ClassLoader

getAttributeGetter

public static final java.lang.reflect.Method getAttributeGetter(java.lang.Class cls,
                                                                java.lang.String attr)
                                                         throws java.lang.NoSuchMethodException
Returns attribute's getter method. If the method not found then NoSuchMethodException will be thrown.

Parameters:
cls - the class the attribute belongs too
attr - the attribute's name
Returns:
attribute's getter method
Throws:
NoSuchMethodException (src) - if the getter was not found
java.lang.NoSuchMethodException

getAttributeSetter

public static final java.lang.reflect.Method getAttributeSetter(java.lang.Class cls,
                                                                java.lang.String attr,
                                                                java.lang.Class type)
                                                         throws java.lang.NoSuchMethodException
Returns attribute's setter method. If the method not found then NoSuchMethodException will be thrown.

Parameters:
cls - the class the attribute belongs to
attr - the attribute's name
type - the attribute's type
Returns:
attribute's setter method
Throws:
NoSuchMethodException (src) - if the setter was not found
java.lang.NoSuchMethodException