public final class AnnotatedClass extends Annotated implements TypeResolutionContext
TypeResolutionContext.Basic
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 TypeBindings |
_bindings
Type bindings to use for members of
_class . |
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<JavaType> |
_superTypes
Ordered set of super classes and interfaces of the
class itself: included in order of precedence
|
protected JavaType |
_type |
protected TypeFactory |
_typeFactory |
Modifier and Type | Method and Description |
---|---|
protected void |
_addClassMixIns(AnnotationMap annotations,
Class<?> target) |
protected void |
_addClassMixIns(AnnotationMap annotations,
Class<?> toMask,
Class<?> mixin) |
protected void |
_addClassMixIns(AnnotationMap annotations,
JavaType target)
Helper method for adding any mix-in annotations specified
class might have.
|
protected void |
_addConstructorMixIns(Class<?> mixin) |
protected void |
_addFactoryMixIns(Class<?> mixin) |
protected void |
_addFieldMixIns(Class<?> mixInCls,
Class<?> targetClass,
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,
TypeResolutionContext typeContext,
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 AnnotatedMethod |
_constructCreatorMethod(Method m,
TypeResolutionContext typeContext) |
protected AnnotatedConstructor |
_constructDefaultConstructor(ClassUtil.Ctor ctor,
TypeResolutionContext typeContext) |
protected AnnotatedField |
_constructField(Field f,
TypeResolutionContext typeContext) |
protected AnnotatedMethod |
_constructMethod(Method m,
TypeResolutionContext typeContext) |
protected AnnotatedConstructor |
_constructNonDefaultConstructor(ClassUtil.Ctor ctor,
TypeResolutionContext typeContext) |
protected Method[] |
_findClassMethods(Class<?> cls)
Helper method that gets methods declared in given class; usually a simple thing,
but sometimes (as per [databind#785]) more complicated, depending on classloader
setup.
|
protected Map<String,AnnotatedField> |
_findFields(JavaType type,
TypeResolutionContext typeContext,
Map<String,AnnotatedField> fields) |
protected boolean |
_isIncludableMemberMethod(Method m) |
Iterable<Annotation> |
annotations()
Accessor that can be used to iterate over all the annotations
associated with annotated component.
|
static AnnotatedClass |
construct(JavaType type,
MapperConfig<?> config)
Factory method that instantiates an instance.
|
static AnnotatedClass |
construct(JavaType type,
MapperConfig<?> config,
ClassIntrospector.MixInResolver mir) |
static AnnotatedClass |
constructWithoutSuperTypes(Class<?> cls,
MapperConfig<?> config)
Method similar to
construct(com.fasterxml.jackson.databind.JavaType, com.fasterxml.jackson.databind.cfg.MapperConfig<?>) , but that will NOT include
information from supertypes; only class itself and any direct
mix-ins it may have. |
static AnnotatedClass |
constructWithoutSuperTypes(Class<?> cls,
MapperConfig<?> config,
ClassIntrospector.MixInResolver mir) |
boolean |
equals(Object o) |
Iterable<AnnotatedField> |
fields() |
AnnotatedMethod |
findMethod(String name,
Class<?>[] paramTypes) |
protected AnnotationMap |
getAllAnnotations()
Internal helper method used to access annotation information;
not exposed to developers since instances are mutable.
|
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() |
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() |
JavaType |
getType()
Full generic type of the annotated element; definition
of what exactly this means depends on sub-class.
|
boolean |
hasAnnotation(Class<?> acls) |
boolean |
hasAnnotations() |
int |
hashCode() |
boolean |
hasOneOf(Class<? extends Annotation>[] annoClasses) |
Iterable<AnnotatedMethod> |
memberMethods() |
JavaType |
resolveType(Type type) |
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.
|
getGenericType, getType, isPublic, withFallBackAnnotationsFrom
protected final JavaType _type
protected final Class<?> _class
protected final TypeBindings _bindings
_class
.protected final List<JavaType> _superTypes
NOTE: changed in 2.7 from List of Class
es to List of JavaType
s.
protected final AnnotationIntrospector _annotationIntrospector
protected final TypeFactory _typeFactory
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(JavaType type, MapperConfig<?> config)
public static AnnotatedClass construct(JavaType type, MapperConfig<?> config, ClassIntrospector.MixInResolver mir)
public static AnnotatedClass constructWithoutSuperTypes(Class<?> cls, MapperConfig<?> config)
construct(com.fasterxml.jackson.databind.JavaType, com.fasterxml.jackson.databind.cfg.MapperConfig<?>)
, but that will NOT include
information from supertypes; only class itself and any direct
mix-ins it may have.public static AnnotatedClass constructWithoutSuperTypes(Class<?> cls, MapperConfig<?> config, ClassIntrospector.MixInResolver mir)
public JavaType resolveType(Type type)
resolveType
in interface TypeResolutionContext
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 boolean hasAnnotation(Class<?> acls)
hasAnnotation
in class Annotated
public boolean hasOneOf(Class<? extends Annotation>[] annoClasses)
public Class<?> getRawType()
Annotated
getRawType
in class Annotated
public Iterable<Annotation> annotations()
Annotated
annotations
in class Annotated
protected AnnotationMap getAllAnnotations()
Annotated
getAllAnnotations
in class Annotated
public JavaType getType()
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, JavaType target)
protected void _addClassMixIns(AnnotationMap annotations, Class<?> target)
protected void _addClassMixIns(AnnotationMap annotations, Class<?> toMask, Class<?> mixin)
protected void _addConstructorMixIns(Class<?> mixin)
protected void _addFactoryMixIns(Class<?> mixin)
protected void _addMemberMethods(Class<?> cls, TypeResolutionContext typeContext, AnnotatedMethodMap methods, Class<?> mixInCls, AnnotatedMethodMap mixIns)
protected void _addMethodMixIns(Class<?> targetClass, AnnotatedMethodMap methods, Class<?> mixInCls, AnnotatedMethodMap mixIns)
protected Map<String,AnnotatedField> _findFields(JavaType type, TypeResolutionContext typeContext, Map<String,AnnotatedField> fields)
protected void _addFieldMixIns(Class<?> mixInCls, Class<?> targetClass, Map<String,AnnotatedField> fields)
protected AnnotatedMethod _constructMethod(Method m, TypeResolutionContext typeContext)
protected AnnotatedConstructor _constructDefaultConstructor(ClassUtil.Ctor ctor, TypeResolutionContext typeContext)
protected AnnotatedConstructor _constructNonDefaultConstructor(ClassUtil.Ctor ctor, TypeResolutionContext typeContext)
protected AnnotatedMethod _constructCreatorMethod(Method m, TypeResolutionContext typeContext)
protected AnnotatedField _constructField(Field f, TypeResolutionContext typeContext)
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)
protected Method[] _findClassMethods(Class<?> cls)
Copyright © 2008–2017 FasterXML. All rights reserved.