public class Reflection
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
protected static class |
Reflection.AnnotatedPropertyKey |
protected static class |
Reflection.NameTypePropertyKey |
protected static class |
Reflection.SinglePropertyKey |
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.ClassLoader |
classLoader |
protected java.util.concurrent.ConcurrentMap<java.lang.Class<?>,ClassDescriptor> |
descriptorCache |
protected BypassConstructorAllocator |
instanceFactory |
protected java.util.Comparator<Property> |
lexicalPropertyComparator |
protected static Property |
NULL_PROPERTY |
protected java.util.concurrent.ConcurrentMap<Reflection.SinglePropertyKey,Property> |
singlePropertyCache |
protected static int |
STATIC_PRIVATE_PROTECTED_MASK |
protected static int |
STATIC_TRANSIENT_MASK |
| Constructor and Description |
|---|
Reflection(java.lang.ClassLoader classLoader) |
Reflection(java.lang.ClassLoader classLoader,
BypassConstructorAllocator instanceFactory) |
| Modifier and Type | Method and Description |
|---|---|
Property |
findProperty(java.lang.Class<?> cls,
java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass) |
Property |
findProperty(java.lang.Class<?> cls,
java.lang.String name,
java.lang.Class<?> type) |
java.util.List<Property> |
findSerializableProperties(java.lang.Class<?> cls) |
Property |
findSerializableProperty(java.lang.Class<?> cls,
java.lang.String name) |
java.lang.ClassLoader |
getClassLoader() |
ClassDescriptor |
getDescriptor(java.lang.Class<?> cls) |
BypassConstructorAllocator |
getInstanceFactory() |
java.util.Comparator<Property> |
getLexicalPropertyComparator() |
boolean |
isRegularClass(java.lang.Class<?> cls) |
java.lang.Class<?> |
loadClass(java.lang.String className) |
protected FieldProperty |
newFieldProperty(java.lang.reflect.Field field) |
<T> T |
newInstance(java.lang.Class<T> cls) |
<T> T |
newInstance(java.lang.String className) |
protected MethodProperty |
newMethodProperty(java.lang.reflect.Method getter,
java.lang.reflect.Method setter,
java.lang.String name) |
protected static final int STATIC_TRANSIENT_MASK
protected static final int STATIC_PRIVATE_PROTECTED_MASK
protected static final Property NULL_PROPERTY
protected final java.lang.ClassLoader classLoader
protected final BypassConstructorAllocator instanceFactory
protected final java.util.Comparator<Property> lexicalPropertyComparator
protected final java.util.concurrent.ConcurrentMap<java.lang.Class<?>,ClassDescriptor> descriptorCache
protected final java.util.concurrent.ConcurrentMap<Reflection.SinglePropertyKey,Property> singlePropertyCache
public Reflection(java.lang.ClassLoader classLoader)
public Reflection(java.lang.ClassLoader classLoader,
BypassConstructorAllocator instanceFactory)
public java.lang.ClassLoader getClassLoader()
public BypassConstructorAllocator getInstanceFactory()
public java.util.Comparator<Property> getLexicalPropertyComparator()
public java.lang.Class<?> loadClass(java.lang.String className)
throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundExceptionpublic <T> T newInstance(java.lang.Class<T> cls)
throws java.lang.InstantiationException,
java.lang.IllegalAccessException,
java.lang.IllegalArgumentException,
java.lang.reflect.InvocationTargetException,
java.lang.SecurityException
java.lang.InstantiationExceptionjava.lang.IllegalAccessExceptionjava.lang.IllegalArgumentExceptionjava.lang.reflect.InvocationTargetExceptionjava.lang.SecurityExceptionpublic <T> T newInstance(java.lang.String className)
throws java.lang.ClassNotFoundException,
java.lang.InstantiationException,
java.lang.IllegalAccessException,
java.lang.IllegalArgumentException,
java.lang.reflect.InvocationTargetException,
java.lang.SecurityException
java.lang.ClassNotFoundExceptionjava.lang.InstantiationExceptionjava.lang.IllegalAccessExceptionjava.lang.IllegalArgumentExceptionjava.lang.reflect.InvocationTargetExceptionjava.lang.SecurityExceptionpublic Property findSerializableProperty(java.lang.Class<?> cls, java.lang.String name) throws java.lang.SecurityException
java.lang.SecurityExceptionpublic ClassDescriptor getDescriptor(java.lang.Class<?> cls)
public java.util.List<Property> findSerializableProperties(java.lang.Class<?> cls) throws java.lang.SecurityException
java.lang.SecurityExceptionprotected FieldProperty newFieldProperty(java.lang.reflect.Field field)
protected MethodProperty newMethodProperty(java.lang.reflect.Method getter, java.lang.reflect.Method setter, java.lang.String name)
public boolean isRegularClass(java.lang.Class<?> cls)
public Property findProperty(java.lang.Class<?> cls, java.lang.String name, java.lang.Class<?> type)
public Property findProperty(java.lang.Class<?> cls, java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)