org.granite.util
Class ClassUtil

java.lang.Object
  extended by org.granite.util.ClassUtil

public abstract class ClassUtil
extends java.lang.Object

Author:
Franck WOLFF

Nested Class Summary
static class ClassUtil.DeclaredAnnotation<T extends java.lang.annotation.Annotation>
           
 
Constructor Summary
ClassUtil()
           
 
Method Summary
static java.lang.Class<?> classOfType(java.lang.reflect.Type type)
           
static
<T> java.util.List<T>
emptyList(java.lang.Class<T> type)
           
static
<T,U> java.util.Map<T,U>
emptyMap(java.lang.Class<T> keyType, java.lang.Class<U> valueType)
           
static
<T> java.util.Set<T>
emptySet(java.lang.Class<T> type)
           
static java.net.URL findResource(java.lang.Class<?> clazz)
           
static java.lang.Class<?> forName(java.lang.String type)
           
static
<T> java.lang.Class<T>
forName(java.lang.String type, java.lang.Class<T> cast)
           
static
<T extends java.lang.annotation.Annotation>
ClassUtil.DeclaredAnnotation<T>
getAnnotation(java.lang.reflect.AnnotatedElement elmt, java.lang.Class<T> annotationClass)
           
static java.lang.reflect.Type getBoundType(java.lang.reflect.TypeVariable<?> typeVariable)
           
static
<T extends java.lang.annotation.Annotation>
ClassUtil.DeclaredAnnotation<T>
getClassAnnotation(java.lang.Class<?> clazz, java.lang.Class<T> annotationClass)
           
static java.lang.ClassLoader getClassLoader(java.lang.Class<?> clazz)
           
static
<T> java.lang.reflect.Constructor<T>
getConstructor(java.lang.Class<T> type, java.lang.Class<?>[] paramTypes)
           
static java.lang.reflect.Constructor<?> getConstructor(java.lang.String type, java.lang.Class<?>[] paramTypes)
           
static
<T extends java.lang.annotation.Annotation>
ClassUtil.DeclaredAnnotation<T>
getConstructorAnnotation(java.lang.Class<?> clazz, java.lang.Class<T> annotationClass)
           
static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz, java.lang.String signature)
           
static
<T extends java.lang.annotation.Annotation>
ClassUtil.DeclaredAnnotation<T>
getMethodAnnotation(java.lang.Class<?> clazz, java.lang.String name, java.lang.Class<?>[] parameterTypes, java.lang.Class<T> annotationClass)
           
static java.lang.String getMethodSignature(java.lang.reflect.Method method)
           
static java.lang.String getPackageName(java.lang.Class<?> clazz)
           
static java.beans.PropertyDescriptor[] getProperties(java.lang.Class<?> clazz)
           
static java.lang.String getTypeSignature(java.lang.Class<?> type)
           
static boolean isAnnotationPresent(java.lang.reflect.AnnotatedElement elmt, java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
           
static boolean isPrimitive(java.lang.reflect.Type type)
           
static
<T> T
newInstance(java.lang.Class<?> type, java.lang.Class<T> cast)
           
static
<T> T
newInstance(java.lang.Class<T> type, java.lang.Class<?>[] argsClass, java.lang.Object[] argsValues)
           
static java.lang.Object newInstance(java.lang.String type)
           
static java.lang.Object newInstance(java.lang.String type, java.lang.Class<?>[] argsClass, java.lang.Object[] argsValues)
           
static
<T> T
newInstance(java.lang.String type, java.lang.Class<T> cast)
           
static java.lang.String removeSpaces(java.lang.String s)
           
static java.lang.String toResourceName(java.lang.Class<?> clazz)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassUtil

public ClassUtil()
Method Detail

newInstance

public static java.lang.Object newInstance(java.lang.String type)
                                    throws java.lang.ClassNotFoundException,
                                           java.lang.InstantiationException,
                                           java.lang.IllegalAccessException
Throws:
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException

newInstance

public static <T> T newInstance(java.lang.String type,
                                java.lang.Class<T> cast)
                     throws java.lang.ClassNotFoundException,
                            java.lang.InstantiationException,
                            java.lang.IllegalAccessException
Throws:
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException

newInstance

public static java.lang.Object newInstance(java.lang.String type,
                                           java.lang.Class<?>[] argsClass,
                                           java.lang.Object[] argsValues)
                                    throws java.lang.ClassNotFoundException,
                                           java.lang.InstantiationException,
                                           java.lang.IllegalAccessException
Throws:
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException

newInstance

public static <T> T newInstance(java.lang.Class<?> type,
                                java.lang.Class<T> cast)
                     throws java.lang.InstantiationException,
                            java.lang.IllegalAccessException
Throws:
java.lang.InstantiationException
java.lang.IllegalAccessException

newInstance

public static <T> T newInstance(java.lang.Class<T> type,
                                java.lang.Class<?>[] argsClass,
                                java.lang.Object[] argsValues)
                     throws java.lang.InstantiationException,
                            java.lang.IllegalAccessException
Throws:
java.lang.InstantiationException
java.lang.IllegalAccessException

forName

public static java.lang.Class<?> forName(java.lang.String type)
                                  throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

forName

public static <T> java.lang.Class<T> forName(java.lang.String type,
                                             java.lang.Class<T> cast)
                                  throws java.lang.ClassNotFoundException
Throws:
java.lang.ClassNotFoundException

getConstructor

public static java.lang.reflect.Constructor<?> getConstructor(java.lang.String type,
                                                              java.lang.Class<?>[] paramTypes)
                                                       throws java.lang.ClassNotFoundException,
                                                              java.lang.NoSuchMethodException
Throws:
java.lang.ClassNotFoundException
java.lang.NoSuchMethodException

getConstructor

public static <T> java.lang.reflect.Constructor<T> getConstructor(java.lang.Class<T> type,
                                                                  java.lang.Class<?>[] paramTypes)
                                                       throws java.lang.NoSuchMethodException
Throws:
java.lang.NoSuchMethodException

emptyList

public static <T> java.util.List<T> emptyList(java.lang.Class<T> type)

emptySet

public static <T> java.util.Set<T> emptySet(java.lang.Class<T> type)

emptyMap

public static <T,U> java.util.Map<T,U> emptyMap(java.lang.Class<T> keyType,
                                                java.lang.Class<U> valueType)

isPrimitive

public static boolean isPrimitive(java.lang.reflect.Type type)

classOfType

public static java.lang.Class<?> classOfType(java.lang.reflect.Type type)

getBoundType

public static java.lang.reflect.Type getBoundType(java.lang.reflect.TypeVariable<?> typeVariable)

getPackageName

public static java.lang.String getPackageName(java.lang.Class<?> clazz)

getProperties

public static java.beans.PropertyDescriptor[] getProperties(java.lang.Class<?> clazz)

getClassLoader

public static java.lang.ClassLoader getClassLoader(java.lang.Class<?> clazz)

findResource

public static java.net.URL findResource(java.lang.Class<?> clazz)

toResourceName

public static java.lang.String toResourceName(java.lang.Class<?> clazz)

getMethodSignature

public static java.lang.String getMethodSignature(java.lang.reflect.Method method)

getTypeSignature

public static java.lang.String getTypeSignature(java.lang.Class<?> type)

getMethod

public static java.lang.reflect.Method getMethod(java.lang.Class<?> clazz,
                                                 java.lang.String signature)
                                          throws java.lang.NoSuchMethodException
Throws:
java.lang.NoSuchMethodException

removeSpaces

public static java.lang.String removeSpaces(java.lang.String s)

isAnnotationPresent

public static boolean isAnnotationPresent(java.lang.reflect.AnnotatedElement elmt,
                                          java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)

getAnnotation

public static <T extends java.lang.annotation.Annotation> ClassUtil.DeclaredAnnotation<T> getAnnotation(java.lang.reflect.AnnotatedElement elmt,
                                                                                                        java.lang.Class<T> annotationClass)

getMethodAnnotation

public static <T extends java.lang.annotation.Annotation> ClassUtil.DeclaredAnnotation<T> getMethodAnnotation(java.lang.Class<?> clazz,
                                                                                                              java.lang.String name,
                                                                                                              java.lang.Class<?>[] parameterTypes,
                                                                                                              java.lang.Class<T> annotationClass)

getConstructorAnnotation

public static <T extends java.lang.annotation.Annotation> ClassUtil.DeclaredAnnotation<T> getConstructorAnnotation(java.lang.Class<?> clazz,
                                                                                                                   java.lang.Class<T> annotationClass)

getClassAnnotation

public static <T extends java.lang.annotation.Annotation> ClassUtil.DeclaredAnnotation<T> getClassAnnotation(java.lang.Class<?> clazz,
                                                                                                             java.lang.Class<T> annotationClass)