org.apache.xbean
Class ClassLoading

java.lang.Object
  extended byorg.apache.xbean.ClassLoading

public class ClassLoading
extends java.lang.Object

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.xbean.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.

Version:
$Rev: 6685 $

Constructor Summary
ClassLoading()
           
 
Method Summary
static java.lang.String getClassName(java.lang.Class type)
          Map a class object back to a class name.
static java.lang.String getClassName(java.lang.Class type, boolean pretty)
           
static java.lang.String getClassName(java.lang.Object instance)
           
static java.lang.String getClassName(java.lang.Object instance, boolean pretty)
           
static java.lang.Class loadClass(java.lang.String className, java.lang.ClassLoader classLoader)
          Load a class that matches the requested name, using the provided class loader context.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassLoading

public ClassLoading()
Method Detail

loadClass

public static java.lang.Class loadClass(java.lang.String className,
                                        java.lang.ClassLoader classLoader)
                                 throws java.lang.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.

Parameters:
className - The name of the required class.
classLoader - The class loader used to resolve the class object.
Returns:
The Class object resolved from "className".
Throws:
java.lang.ClassNotFoundException - When unable to resolve the class object.
java.lang.IllegalArgumentException - If either argument is null.

getClassName

public static java.lang.String getClassName(java.lang.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.

Parameters:
type - The class object we convert into name form.
Returns:
A string representation of the class name, in method signature format.

getClassName

public static java.lang.String getClassName(java.lang.Object instance)

getClassName

public static java.lang.String getClassName(java.lang.Object instance,
                                            boolean pretty)

getClassName

public static java.lang.String getClassName(java.lang.Class type,
                                            boolean pretty)


Copyright © {inceptionYear}-2006 Apache Software Foundation. All Rights Reserved.