com.pmease.quickbuild.util
Class ClassUtils
java.lang.Object
org.apache.commons.lang.ClassUtils
com.pmease.quickbuild.util.ClassUtils
public class ClassUtils
- extends org.apache.commons.lang.ClassUtils
Extend jakarta commons-lang class utility to add more functionality
Fields inherited from class org.apache.commons.lang.ClassUtils |
INNER_CLASS_SEPARATOR, INNER_CLASS_SEPARATOR_CHAR, PACKAGE_SEPARATOR, PACKAGE_SEPARATOR_CHAR |
Method Summary |
static java.util.Collection<java.lang.Class<?>> |
findImplementations(java.lang.Class<?> superClass,
java.lang.Class<?> packageClass)
|
static
<T> java.util.Collection<java.lang.Class<T>> |
|
findSubClasses(java.lang.Class<T> superClass,
java.lang.Class<?> packageClass)
Find all sub classes inheriting from (or implementing) specified super class (or interface) in
package containing the package class. |
static java.io.File |
getClassFile(java.lang.Class<?> clazz)
|
static java.lang.Class<?> |
getCollectionElementType(java.lang.reflect.Type type)
|
static java.lang.reflect.Constructor<?> |
getConstructor(java.lang.Class<?> clazz,
java.lang.Class<?> acceptableParamType)
|
static
<T> java.lang.reflect.Constructor<T> |
|
getConstructor(java.lang.Class<T> clazz,
java.lang.Class<?>[] expectedTypes)
|
static java.lang.Class<?> |
getDeclaringClass(java.lang.reflect.AnnotatedElement element)
|
static java.lang.Class<?> |
getMapKeyType(java.lang.reflect.Type type)
|
static java.lang.Class<?> |
getMapValueType(java.lang.reflect.Type type)
|
static java.lang.reflect.Method |
getMethod(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>... params)
Find the declared method in nearest ancestor of specified class. |
static java.lang.reflect.Method |
getMethodIfAvailable(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>... params)
Find the declared method in nearest ancestor of specified class. |
static java.lang.String |
getMethodSignature(java.lang.reflect.Method method)
|
static
<T> java.util.List<java.lang.Class<?>> |
|
getTypeArguments(java.lang.Class<T> baseClass,
java.lang.Class<? extends T> childClass)
Get the actual type arguments a child class has used to extend a generic
base class. |
static boolean |
hasMethod(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>... params)
|
static
|
instantiateClass(java.lang.Class<T> cls,
java.lang.Object... objects)
|
static java.lang.Object |
invokeStaticMethod(java.lang.Class<?> clazz,
java.lang.String methodName)
|
static boolean |
isSystemType(java.lang.Class<?> type)
|
static java.lang.Class<?> |
unproxy(java.lang.Class<?> clazz)
|
Methods inherited from class org.apache.commons.lang.ClassUtils |
convertClassesToClassNames, convertClassNamesToClasses, getAllInterfaces, getAllSuperclasses, getClass, getClass, getClass, getClass, getPackageCanonicalName, getPackageCanonicalName, getPackageCanonicalName, getPackageName, getPackageName, getPackageName, getPublicMethod, getShortCanonicalName, getShortCanonicalName, getShortCanonicalName, getShortClassName, getShortClassName, getShortClassName, isAssignable, isAssignable, isInnerClass, primitivesToWrappers, primitiveToWrapper, toClass, wrappersToPrimitives, wrapperToPrimitive |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ClassUtils
public ClassUtils()
getMethodIfAvailable
public static java.lang.reflect.Method getMethodIfAvailable(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>... params)
- Find the declared method in nearest ancestor of specified class.
null if not available
getMethod
public static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>... params)
- Find the declared method in nearest ancestor of specified class.
- Throws:
java.lang.RuntimeException
- if the method can not be found.
hasMethod
public static boolean hasMethod(java.lang.Class<?> clazz,
java.lang.String methodName,
java.lang.Class<?>... params)
isSystemType
public static boolean isSystemType(java.lang.Class<?> type)
unproxy
public static java.lang.Class<?> unproxy(java.lang.Class<?> clazz)
getCollectionElementType
public static java.lang.Class<?> getCollectionElementType(java.lang.reflect.Type type)
getMapKeyType
public static java.lang.Class<?> getMapKeyType(java.lang.reflect.Type type)
getMapValueType
public static java.lang.Class<?> getMapValueType(java.lang.reflect.Type type)
getConstructor
public static java.lang.reflect.Constructor<?> getConstructor(java.lang.Class<?> clazz,
java.lang.Class<?> acceptableParamType)
getDeclaringClass
public static java.lang.Class<?> getDeclaringClass(java.lang.reflect.AnnotatedElement element)
invokeStaticMethod
public static java.lang.Object invokeStaticMethod(java.lang.Class<?> clazz,
java.lang.String methodName)
getMethodSignature
public static java.lang.String getMethodSignature(java.lang.reflect.Method method)
instantiateClass
public static <T> T instantiateClass(java.lang.Class<T> cls,
java.lang.Object... objects)
getConstructor
public static <T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T> clazz,
java.lang.Class<?>[] expectedTypes)
findImplementations
public static java.util.Collection<java.lang.Class<?>> findImplementations(java.lang.Class<?> superClass,
java.lang.Class<?> packageClass)
findSubClasses
public static <T> java.util.Collection<java.lang.Class<T>> findSubClasses(java.lang.Class<T> superClass,
java.lang.Class<?> packageClass)
- Find all sub classes inheriting from (or implementing) specified super class (or interface) in
package containing the package class.
- Parameters:
superClass
- super class (or interface) to match.packageClass
- find sub classes in the same package or sub package as this class. Package will be searched recursively.
- Returns:
- collection of sub classes (not include the super class)
getTypeArguments
public static <T> java.util.List<java.lang.Class<?>> getTypeArguments(java.lang.Class<T> baseClass,
java.lang.Class<? extends T> childClass)
- Get the actual type arguments a child class has used to extend a generic
base class. (Taken from http://www.artima.com/weblogs/viewpost.jsp?thread=208860. Thanks
mathieu.grenonville for finding this solution!)
- Parameters:
baseClass
- the base classchildClass
- the child class
- Returns:
- a list of the raw classes for the actual type arguments.
getClassFile
public static java.io.File getClassFile(java.lang.Class<?> clazz)
Copyright © 2005-2010 PMEase Inc. All Rights Reserved.