public final class AnnotatedClass extends Annotated
Modifier and Type | Field and Description |
---|---|
protected AnnotationIntrospector |
_annotationIntrospector
Filter used to determine which annotations to gather; used
to optimize things so that unnecessary annotations are
ignored.
|
protected Class<?> |
_class
Class for which annotations apply, and that owns other
components (constructors, methods)
|
protected AnnotationMap |
_classAnnotations
Combined list of Jackson annotations that the class has,
including inheritable ones from super classes and interfaces
|
protected List<AnnotatedConstructor> |
_constructors
Single argument constructors the class has, if any.
|
protected List<AnnotatedMethod> |
_creatorMethods
Single argument static methods that might be usable
as factory methods
|
protected boolean |
_creatorsResolved
Flag to indicate whether creator information has been resolved
or not.
|
protected AnnotatedConstructor |
_defaultConstructor
Default constructor of the annotated class, if it has one.
|
protected List<AnnotatedField> |
_fields
Member fields of interest: ones that are either public,
or have at least one annotation.
|
protected AnnotatedMethodMap |
_memberMethods
Member methods of interest; for now ones with 0 or 1 arguments
(just optimization, since others won't be used now)
|
protected ClassIntrospector.MixInResolver |
_mixInResolver
Object that knows mapping of mix-in classes (ones that contain
annotations to add) with their target classes (ones that
get these additional annotations "mixed in").
|
protected Class<?> |
_primaryMixIn
Primary mix-in class; one to use for the annotated class
itself.
|
protected List<Class<?>> |
_superTypes
Ordered set of super classes and interfaces of the
class itself: included in order of precedence
|
Modifier and Type | Method and Description |
---|---|
protected void |
_addClassMixIns(AnnotationMap annotations,
Class<?> toMask)
Helper method for adding any mix-in annotations specified
class might have.
|
protected void |
_addClassMixIns(AnnotationMap annotations,
Class<?> toMask,
Class<?> mixin) |
protected void |
_addConstructorMixIns(Class<?> mixin) |
protected void |
_addFactoryMixIns(Class<?> mixin) |
protected void |
_addFieldMixIns(Class<?> targetClass,
Class<?> mixInCls,
Map<String,AnnotatedField> fields)
Method called to add field mix-ins from given mix-in class (and its fields)
into already collected actual fields (from introspected classes and their
super-classes)
|
protected void |
_addMemberMethods(Class<?> cls,
AnnotatedMethodMap methods,
Class<?> mixInCls,
AnnotatedMethodMap mixIns) |
protected void |
_addMethodMixIns(Class<?> targetClass,
AnnotatedMethodMap methods,
Class<?> mixInCls,
AnnotatedMethodMap mixIns) |
protected void |
_addMixOvers(Constructor<?> mixin,
AnnotatedConstructor target,
boolean addParamAnnotations) |
protected void |
_addMixOvers(Method mixin,
AnnotatedMethod target,
boolean addParamAnnotations) |
protected void |
_addMixUnders(Method src,
AnnotatedMethod target)
Method that will add annotations from specified source method to target method,
but only if target does not yet have them.
|
protected AnnotationMap |
_collectRelevantAnnotations(Annotation[] anns) |
protected AnnotationMap[] |
_collectRelevantAnnotations(Annotation[][] anns) |
protected AnnotatedConstructor |
_constructConstructor(Constructor<?> ctor,
boolean defaultCtor) |
protected AnnotatedMethod |
_constructCreatorMethod(Method m) |
protected AnnotatedField |
_constructField(Field f) |
protected AnnotatedMethod |
_constructMethod(Method m) |
protected Map<String,AnnotatedField> |
_findFields(Class<?> c,
Map<String,AnnotatedField> fields) |
protected boolean |
_isIncludableMemberMethod(Method m) |
static AnnotatedClass |
construct(Class<?> cls,
AnnotationIntrospector aintr,
ClassIntrospector.MixInResolver mir)
Factory method that instantiates an instance.
|
static AnnotatedClass |
constructWithoutSuperTypes(Class<?> cls,
AnnotationIntrospector aintr,
ClassIntrospector.MixInResolver mir)
Method similar to
construct(java.lang.Class<?>, com.fasterxml.jackson.databind.AnnotationIntrospector, com.fasterxml.jackson.databind.introspect.ClassIntrospector.MixInResolver) , but that will NOT include
information from supertypes; only class itself and any direct
mix-ins it may have. |
Iterable<AnnotatedField> |
fields() |
AnnotatedMethod |
findMethod(String name,
Class<?>[] paramTypes) |
protected AnnotationMap |
getAllAnnotations() |
Class<?> |
getAnnotated()
Method that can be used to find actual JDK element that this instance
represents.
|
<A extends Annotation> |
getAnnotation(Class<A> acls) |
Annotations |
getAnnotations() |
List<AnnotatedConstructor> |
getConstructors() |
AnnotatedConstructor |
getDefaultConstructor() |
int |
getFieldCount() |
Type |
getGenericType()
Full generic type of the annotated element; definition
of what exactly this means depends on sub-class.
|
int |
getMemberMethodCount() |
int |
getModifiers() |
String |
getName() |
Class<?> |
getRawType()
"Raw" type (type-erased class) of the annotated element; definition
of what exactly this means depends on sub-class.
|
List<AnnotatedMethod> |
getStaticMethods() |
boolean |
hasAnnotations() |
Iterable<AnnotatedMethod> |
memberMethods() |
String |
toString() |
AnnotatedClass |
withAnnotations(AnnotationMap ann)
Fluent factory method that will construct a new instance that uses specified
instance annotations instead of currently configured ones.
|
getType, hasAnnotation, isPublic, withFallBackAnnotationsFrom
protected final Class<?> _class
protected final List<Class<?>> _superTypes
protected final AnnotationIntrospector _annotationIntrospector
protected final ClassIntrospector.MixInResolver _mixInResolver
protected final Class<?> _primaryMixIn
protected AnnotationMap _classAnnotations
protected boolean _creatorsResolved
protected AnnotatedConstructor _defaultConstructor
protected List<AnnotatedConstructor> _constructors
protected List<AnnotatedMethod> _creatorMethods
protected AnnotatedMethodMap _memberMethods
protected List<AnnotatedField> _fields
public AnnotatedClass withAnnotations(AnnotationMap ann)
Annotated
withAnnotations
in class Annotated
public static AnnotatedClass construct(Class<?> cls, AnnotationIntrospector aintr, ClassIntrospector.MixInResolver mir)
public static AnnotatedClass constructWithoutSuperTypes(Class<?> cls, AnnotationIntrospector aintr, ClassIntrospector.MixInResolver mir)
construct(java.lang.Class<?>, com.fasterxml.jackson.databind.AnnotationIntrospector, com.fasterxml.jackson.databind.introspect.ClassIntrospector.MixInResolver)
, but that will NOT include
information from supertypes; only class itself and any direct
mix-ins it may have.public Class<?> getAnnotated()
Annotated
getAnnotated
in class Annotated
public int getModifiers()
getModifiers
in class Annotated
public <A extends Annotation> A getAnnotation(Class<A> acls)
getAnnotation
in class Annotated
public Type getGenericType()
Annotated
getGenericType
in class Annotated
public Class<?> getRawType()
Annotated
getRawType
in class Annotated
protected AnnotationMap getAllAnnotations()
getAllAnnotations
in class Annotated
public Annotations getAnnotations()
public boolean hasAnnotations()
public AnnotatedConstructor getDefaultConstructor()
public List<AnnotatedConstructor> getConstructors()
public List<AnnotatedMethod> getStaticMethods()
public Iterable<AnnotatedMethod> memberMethods()
public int getMemberMethodCount()
public AnnotatedMethod findMethod(String name, Class<?>[] paramTypes)
public int getFieldCount()
public Iterable<AnnotatedField> fields()
protected void _addClassMixIns(AnnotationMap annotations, Class<?> toMask)
protected void _addClassMixIns(AnnotationMap annotations, Class<?> toMask, Class<?> mixin)
protected void _addConstructorMixIns(Class<?> mixin)
protected void _addFactoryMixIns(Class<?> mixin)
protected void _addMemberMethods(Class<?> cls, AnnotatedMethodMap methods, Class<?> mixInCls, AnnotatedMethodMap mixIns)
protected void _addMethodMixIns(Class<?> targetClass, AnnotatedMethodMap methods, Class<?> mixInCls, AnnotatedMethodMap mixIns)
protected Map<String,AnnotatedField> _findFields(Class<?> c, Map<String,AnnotatedField> fields)
protected void _addFieldMixIns(Class<?> targetClass, Class<?> mixInCls, Map<String,AnnotatedField> fields)
protected AnnotatedMethod _constructMethod(Method m)
protected AnnotatedConstructor _constructConstructor(Constructor<?> ctor, boolean defaultCtor)
protected AnnotatedMethod _constructCreatorMethod(Method m)
protected AnnotatedField _constructField(Field f)
protected boolean _isIncludableMemberMethod(Method m)
protected AnnotationMap[] _collectRelevantAnnotations(Annotation[][] anns)
protected AnnotationMap _collectRelevantAnnotations(Annotation[] anns)
protected void _addMixOvers(Constructor<?> mixin, AnnotatedConstructor target, boolean addParamAnnotations)
addParamAnnotations
- Whether parameter annotations are to be
added as wellprotected void _addMixOvers(Method mixin, AnnotatedMethod target, boolean addParamAnnotations)
addParamAnnotations
- Whether parameter annotations are to be
added as wellprotected void _addMixUnders(Method src, AnnotatedMethod target)
Copyright © 2012-2013 FasterXML. All Rights Reserved.