Home » geronimo-2.2-source-release » org.apache.geronimo.kernel » [javadoc | source]
org.apache.geronimo.kernel
public class: ClassLoading [javadoc | source]
java.lang.Object
   org.apache.geronimo.kernel.ClassLoading
Utility class for loading classes by a variety of name variations.

Supported names types are:

1) Fully qualified class name (e.g., "java.lang.String", "org.apache.geronimo.kernel.ClassLoading" 2) Method signature encoding ("Ljava.lang.String;", "J", "I", etc.) 3) Primitive type names ("int", "boolean", etc.) 4) Method array signature strings ("[I", "[Ljava.lang.String") 5) Arrays using Java code format ("int[]", "java.lang.String[][]")

The classes are loaded using the provided class loader. For the basic types, the primitive reflection types are returned.

Method from org.apache.geronimo.kernel.ClassLoading Summary:
getAllTypes,   getClassName,   loadClass,   reduceInterfaces,   reduceInterfaces
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.geronimo.kernel.ClassLoading Detail:
 public static Set getAllTypes(Class type) 
 public static String getClassName(Class type) 
    Map a class object back to a class name. The returned class object must be "round trippable", which means

    type == ClassLoading.loadClass(ClassLoading.getClassName(type), classLoader)

    must be true. To ensure this, the class name is always returned in method signature format.

 public static Class loadClass(String className,
    ClassLoader classLoader) throws ClassNotFoundException 
    Load a class that matches the requested name, using the provided class loader context.

    The class name may be a standard class name, the name of a primitive type Java reflection class (e.g., "boolean" or "int"), or a type in method type signature encoding. Array classes in either encoding form are also processed.

 public static Set reduceInterfaces(Set source) 
 public static Class[] reduceInterfaces(Class[] source) 
    If there are multiple interfaces, and some of them extend each other, eliminate the superclass in favor of the subclasses that extend them. If one of the entries is a class (not an interface), make sure it's the first one in the array. If more than one of the entries is a class, throws an IllegalArgumentException