org.apache.tiles.request.reflect
Class ClassUtil

Package class diagram package ClassUtil
java.lang.Object
  extended by org.apache.tiles.request.reflect.ClassUtil

public final class ClassUtil
extends Object

Utilities to work with dynamic class loading and instantiation.

Version:
$Rev: 1306435 $ $Date: 2012-03-28 11:39:11 -0400 (Wed, 28 Mar 2012) $

Method Summary
static void collectBeanInfo(Class<?> clazz, Map<String,PropertyDescriptor> name2descriptor)
          Collects bean infos from a class and filling a list.
static
<T> Class<? extends T>
getClass(String className, Class<T> baseClass)
          Returns the class and casts it to the correct subclass.
It tries to use the thread's current classloader first and, if it does not succeed, uses the classloader of ClassUtil.
static Object instantiate(String className)
          Returns an instance of the given class name, by calling the default constructor.
static Object instantiate(String className, boolean returnNull)
          Returns an instance of the given class name, by calling the default constructor.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getClass

public static <T> Class<? extends T> getClass(String className,
                                              Class<T> baseClass)
                                   throws ClassNotFoundException
Returns the class and casts it to the correct subclass.
It tries to use the thread's current classloader first and, if it does not succeed, uses the classloader of ClassUtil.

Type Parameters:
T - The subclass to use.
Parameters:
className - The name of the class to load.
baseClass - The base class to subclass to.
Returns:
The loaded class.
Throws:
ClassNotFoundException - If the class has not been found.

instantiate

public static Object instantiate(String className)
Returns an instance of the given class name, by calling the default constructor.

Parameters:
className - The class name to load and to instantiate.
Returns:
The new instance of the class name.
Throws:
CannotInstantiateObjectException - If something goes wrong during instantiation.

instantiate

public static Object instantiate(String className,
                                 boolean returnNull)
Returns an instance of the given class name, by calling the default constructor.

Parameters:
className - The class name to load and to instantiate.
returnNull - If true, if the class is not found it returns true, otherwise it throws a TilesException.
Returns:
The new instance of the class name.
Throws:
CannotInstantiateObjectException - If something goes wrong during instantiation.

collectBeanInfo

public static void collectBeanInfo(Class<?> clazz,
                                   Map<String,PropertyDescriptor> name2descriptor)
Collects bean infos from a class and filling a list.

Parameters:
clazz - The class to be inspected.
name2descriptor - The map in the form: name of the property -> descriptor.


Copyright © 2001-2012 Apache Software Foundation. All Rights Reserved.