public class ClassUtils
extends org.apache.commons.lang.ClassUtils
This class is useful for loading resources and classes in a fault tolerant manner that works across different applications servers. The resource and classloading methods are SecurityManager friendly.
Modifier and Type | Field and Description |
---|---|
static Object[] |
NO_ARGS |
static Class[] |
NO_ARGS_TYPE |
Constructor and Description |
---|
ClassUtils() |
Modifier and Type | Method and Description |
---|---|
static boolean |
compare(Class[] c1,
Class[] c2,
boolean matchOnObject) |
static boolean |
equal(Object a,
Object b)
Is there a better place for this? Simple helper for writing object equalities.
|
static String |
getClassName(Class clazz) |
static Class[] |
getClassTypes(Object object)
Used for creating an array of class types for an array or single object
|
static Constructor |
getConstructor(Class clazz,
Class[] paramTypes) |
static Method |
getMethod(Class clazz,
String name,
Class[] parameterTypes)
Returns a matching method for the given name and parameters on the given class
If the parameterTypes arguments is null it will return the first matching
method on the class.
|
static Class[] |
getParameterTypes(Object bean,
String methodName) |
static URL |
getResource(String resourceName,
Class callingClass)
Load a given resource.
|
static Enumeration |
getResources(String resourceName,
Class callingClass) |
static List |
getSatisfiableMethods(Class implementation,
Class[] parameterTypes,
boolean voidOk,
boolean matchOnObject,
Collection ignoredMethodNames,
WildcardFilter filter)
A helper method that will find all matching methods on a class with the given
parameter type
|
static List |
getSatisfiableMethods(Class implementation,
Class[] parameterTypes,
boolean voidOk,
boolean matchOnObject,
Set ignoredMethodNames)
A helper method that will find all matching methods on a class with the given
parameter type
|
static List |
getSatisfiableMethodsWithReturnType(Class implementation,
Class returnType,
boolean matchOnObject,
Set ignoredMethodNames) |
static String |
getSimpleName(Class clazz)
Provide a simple-to-understand class name (with access to only Java 1.4 API).
|
static int |
hash(Object[] state) |
static Class |
initializeClass(Class clazz)
Ensure that the given class is properly initialized when the argument is passed in
as .class literal.
|
static Object |
instanciateClass(Class clazz,
Object[] constructorArgs) |
static Object |
instanciateClass(String name,
Object[] constructorArgs) |
static Object |
instanciateClass(String name,
Object[] constructorArgs,
Class callingClass) |
static boolean |
isClassOnPath(String className,
Class currentClass)
Can be used by serice endpoints to select which service to use based on what's
loaded on the classpath
|
static boolean |
isConcrete(Class clazz) |
static Class |
loadClass(String className,
Class callingClass)
Load a class with a given name.
|
static void |
printClassLoader()
Prints the current classloader hierarchy - useful for debugging.
|
static void |
printClassLoader(ClassLoader cl)
Prints the classloader hierarchy from a given classloader - useful for
debugging.
|
static Class[] |
wrappersToPrimitives(Class[] wrappers) |
static Class |
wrapperToPrimitive(Class wrapper) |
convertClassesToClassNames, convertClassNamesToClasses, getAllInterfaces, getAllSuperclasses, getClass, getClass, getClass, getClass, getPackageCanonicalName, getPackageCanonicalName, getPackageCanonicalName, getPackageName, getPackageName, getPackageName, getPublicMethod, getShortCanonicalName, getShortCanonicalName, getShortCanonicalName, getShortClassName, getShortClassName, getShortClassName, isAssignable, isAssignable, isAssignable, isAssignable, isInnerClass, primitivesToWrappers, primitiveToWrapper, toClass
public static final Object[] NO_ARGS
public static final Class[] NO_ARGS_TYPE
public static boolean isConcrete(Class clazz)
public static URL getResource(String resourceName, Class callingClass)
resourceName
- The name of the resource to loadcallingClass
- The Class object of the calling objectpublic static Enumeration getResources(String resourceName, Class callingClass)
public static Class loadClass(String className, Class callingClass) throws ClassNotFoundException
Thread.currentThread().getContextClassLoader()
Class.forName(java.lang.String)
ClassLoaderUtil.class.getClassLoader()
callingClass.getClassLoader()
className
- The name of the class to loadcallingClass
- The Class object of the calling objectClassNotFoundException
- If the class cannot be found anywhere.public static void printClassLoader()
public static void printClassLoader(ClassLoader cl)
public static Class initializeClass(Class clazz)
clazz
- the Class to be initializedpublic static Object instanciateClass(Class clazz, Object[] constructorArgs) throws SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException
public static Object instanciateClass(String name, Object[] constructorArgs) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException
public static Object instanciateClass(String name, Object[] constructorArgs, Class callingClass) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException
public static Method getMethod(Class clazz, String name, Class[] parameterTypes)
clazz
- the class to find the method onname
- the method name to findparameterTypes
- an array of argument types or nullpublic static Constructor getConstructor(Class clazz, Class[] paramTypes)
public static List getSatisfiableMethods(Class implementation, Class[] parameterTypes, boolean voidOk, boolean matchOnObject, Set ignoredMethodNames)
implementation
- the class to build methods onparameterTypes
- the argument param types to look forvoidOk
- whether void methods shouldbe included in the found listmatchOnObject
- determines whether parameters of Object type are matched
when they are of Object.class typeignoredMethodNames
- a Set of method names to ignore. Often 'equals' is
not a desired match. This argument can be null.public static List getSatisfiableMethods(Class implementation, Class[] parameterTypes, boolean voidOk, boolean matchOnObject, Collection ignoredMethodNames, WildcardFilter filter)
implementation
- the class to build methods onparameterTypes
- the argument param types to look forvoidOk
- whether void methods shouldbe included in the found listmatchOnObject
- determines whether parameters of Object type are matched
when they are of Object.class typeignoredMethodNames
- a Set of method names to ignore. Often 'equals' is
not a desired match. This argument can be null.public static List getSatisfiableMethodsWithReturnType(Class implementation, Class returnType, boolean matchOnObject, Set ignoredMethodNames)
public static boolean isClassOnPath(String className, Class currentClass)
className
- The class name to look forcurrentClass
- the calling classpublic static Class[] getClassTypes(Object object)
object
- single object or array. If this parameter is null or a zero length
array then NO_ARGS_TYPE
is returnedpublic static String getSimpleName(Class clazz)
clazz
- The class whose name we will generatepublic static boolean equal(Object a, Object b)
public static int hash(Object[] state)
Copyright © 2003–2013 MuleSource, Inc.. All rights reserved.