|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.mule.util.ClassHelper
This class is extremely useful for loading resources and classes in a fault tolerant manner that works across different applications servers. The loadClass methods and printClassloader methods were taken from the ClassLoaderUtils in WW2.
Field Summary | |
static java.lang.Object[] |
NO_ARGS
|
Constructor Summary | |
ClassHelper()
|
Method Summary | |
static boolean |
compare(java.lang.Class[] c1,
java.lang.Class[] c2)
|
static java.lang.Class[] |
getClassTypes(java.lang.Object object)
Used for creating an array of class types for an array or single object |
static java.lang.reflect.Constructor |
getConstructor(java.lang.Class clazz,
java.lang.Class[] paramTypes)
|
static java.lang.reflect.Method |
getMethod(java.lang.String name,
java.lang.Class clazz)
|
static java.lang.Class[] |
getParameterTypes(java.lang.Object bean,
java.lang.String methodName)
|
static java.net.URL |
getResource(java.lang.String resourceName,
java.lang.Class callingClass)
Load a given resource. |
static java.io.InputStream |
getResourceAsStream(java.lang.String resourceName,
java.lang.Class callingClass)
This is a convenience method to load a resource as a stream. |
static java.util.List |
getSatisfiableMethods(java.lang.Class implementation,
java.lang.Class[] parameterTypes,
boolean voidOk,
boolean ignoreEquals)
A helper method that will find all matching methods on a class with the given parameter type |
static java.lang.Object |
instanciateClass(java.lang.Class clazz,
java.lang.Object[] constructorArgs)
|
static java.lang.Object |
instanciateClass(java.lang.String name,
java.lang.Object[] constructorArgs)
|
static boolean |
isClassOnPath(java.lang.String className,
java.lang.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(java.lang.Class clazz)
|
static java.lang.Class |
loadClass(java.lang.String className,
java.lang.Class callingClass)
Load a class with a given name. |
static void |
printClassLoader()
Prints the current classloader hierarchy - useful for debugging. |
static void |
printClassLoader(java.lang.ClassLoader cl)
Prints the classloader hierarchy from a given classloader - useful for debugging. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final java.lang.Object[] NO_ARGS
Constructor Detail |
public ClassHelper()
Method Detail |
public static boolean isConcrete(java.lang.Class clazz)
public static java.net.URL getResource(java.lang.String resourceName, java.lang.Class callingClass)
Thread.currentThread().getContextClassLoader()
ClassLoaderUtil.class.getClassLoader()
callingClass.getClassLoader()
resourceName
- The name of the resource to loadcallingClass
- The Class object of the calling objectpublic static java.io.InputStream getResourceAsStream(java.lang.String resourceName, java.lang.Class callingClass)
resourceName
- The name of the resource to loadcallingClass
- The Class object of the calling objectpublic static java.lang.Class loadClass(java.lang.String className, java.lang.Class callingClass) throws java.lang.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 object
java.lang.ClassNotFoundException
- If the class cannot be found anywhere.public static void printClassLoader()
public static void printClassLoader(java.lang.ClassLoader cl)
public static java.lang.Object instanciateClass(java.lang.Class clazz, java.lang.Object[] constructorArgs) throws java.lang.SecurityException, java.lang.NoSuchMethodException, java.lang.IllegalArgumentException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
java.lang.SecurityException
java.lang.NoSuchMethodException
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
public static java.lang.Object instanciateClass(java.lang.String name, java.lang.Object[] constructorArgs) throws java.lang.ClassNotFoundException, java.lang.SecurityException, java.lang.NoSuchMethodException, java.lang.IllegalArgumentException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
java.lang.ClassNotFoundException
java.lang.SecurityException
java.lang.NoSuchMethodException
java.lang.IllegalArgumentException
java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
public static java.lang.Class[] getParameterTypes(java.lang.Object bean, java.lang.String methodName)
public static java.lang.reflect.Method getMethod(java.lang.String name, java.lang.Class clazz)
public static java.lang.reflect.Constructor getConstructor(java.lang.Class clazz, java.lang.Class[] paramTypes)
public static java.util.List getSatisfiableMethods(java.lang.Class implementation, java.lang.Class[] parameterTypes, boolean voidOk, boolean ignoreEquals)
implementation
- the class to build methods onparameterTypes
- the argument param types to look forvoidOk
- whether void methods shouldbe included in the found listignoreEquals
- whether to ignore the equals method in the methods returned
public static boolean isClassOnPath(java.lang.String className, java.lang.Class currentClass)
className
- The class name to look forcurrentClass
- the calling class
public static java.lang.Class[] getClassTypes(java.lang.Object object)
object
- single object or array
public static boolean compare(java.lang.Class[] c1, java.lang.Class[] c2)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |