org.apache.tiles.reflect
Class ClassUtil

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

public final class ClassUtil
extends java.lang.Object

Utilities to work with dynamic class loading and instantiation.

Since:
2.0.7

Method Summary
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

instantiate

public static java.lang.Object instantiate(java.lang.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.
Since:
2.0.7

instantiate

public static java.lang.Object instantiate(java.lang.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.
Since:
2.0.7

getForcedAccessibleMethod

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

Parameters:
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.
Returns:
The method, if it is found.
Since:
2.0.7

invokeMethod

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

Parameters:
obj - The object from which a method will be called.
method - The method to call.
args - The arguments of the method.
Returns:
The object returned, if the method is not "void".
Since:
2.0.7