org.apache.tiles.reflect
public final class ClassUtil extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static void |
collectBeanInfo(java.lang.Class<?> clazz,
java.util.Map<java.lang.String,java.beans.PropertyDescriptor> name2descriptor)
Collects bean infos from a class and filling a list.
|
static <T> java.lang.Class<? extends T> |
getClass(java.lang.String className,
java.lang.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 java.lang.reflect.Method |
getForcedAccessibleMethod(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>... parameterTypes)
Gets a method and forces it to be accessible, even if it is not.
|
static java.lang.Object |
instantiate(java.lang.String className)
Returns an instance of the given class name, by calling the default
constructor.
|
static java.lang.Object |
instantiate(java.lang.String className,
boolean returnNull)
Returns an instance of the given class name, by calling the default
constructor.
|
static java.lang.Object |
invokeMethod(java.lang.Object obj,
java.lang.reflect.Method method,
java.lang.Object... args)
Invokes a method, masking with a runtime exception all the exceptions.
|
public static <T> java.lang.Class<? extends T> getClass(java.lang.String className, java.lang.Class<T> baseClass) throws java.lang.ClassNotFoundException
T
- The subclass to use.className
- The name of the class to load.baseClass
- The base class to subclass to.java.lang.ClassNotFoundException
- If the class has not been found.public static java.lang.Object instantiate(java.lang.String className)
className
- The class name to load and to instantiate.CannotInstantiateObjectException
- If something goes wrong during
instantiation.public static java.lang.Object instantiate(java.lang.String className, boolean returnNull)
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
.CannotInstantiateObjectException
- If something goes wrong during instantiation.public static java.lang.reflect.Method getForcedAccessibleMethod(java.lang.Class<?> clazz, java.lang.String methodName, java.lang.Class<?>... parameterTypes)
clazz
- The class from which the method will be got.methodName
- The name of the method.parameterTypes
- The parameter types that the method must match.public static java.lang.Object invokeMethod(java.lang.Object obj, java.lang.reflect.Method method, java.lang.Object... args)
obj
- The object from which a method will be called.method
- The method to call.args
- The arguments of the method.public static void collectBeanInfo(java.lang.Class<?> clazz, java.util.Map<java.lang.String,java.beans.PropertyDescriptor> name2descriptor)
clazz
- The class to be inspected.name2descriptor
- The map in the form: name of the property ->
descriptor.