Class POJOPropertiesCollector
- java.lang.Object
-
- org.codehaus.jackson.map.introspect.POJOPropertiesCollector
-
public class POJOPropertiesCollector extends java.lang.ObjectHelper class used for aggregating information about all possible properties of a POJO.- Since:
- 1.9
-
-
Field Summary
Fields Modifier and Type Field Description protected AnnotationIntrospector_annotationIntrospectorprotected java.util.LinkedList<AnnotatedMethod>_anyGettersprotected java.util.LinkedList<AnnotatedMethod>_anySettersprotected AnnotatedClass_classDefLow-level introspected class information (methods, fields etc)protected MapperConfig<?>_configConfiguration settingsprotected java.util.LinkedList<POJOPropertyBuilder>_creatorPropertiesprotected boolean_forSerializationTrue if introspection is done for serialization (giving precedence for serialization annotations), or not (false, deserialization)protected java.util.Set<java.lang.String>_ignoredPropertyNamesLazily collected list of properties that can be implicitly ignored during serialization; only updated when collecting information for deserialization purposesprotected java.util.Set<java.lang.String>_ignoredPropertyNamesForDeserAlternate set of property names that have been marked for explicit ignoral for deserialization: needed to deal with 1.x definition of ignorable with respect to "any setter" (see [JACKSON-313], [JACKSON-383])protected java.util.LinkedHashMap<java.lang.Object,AnnotatedMember>_injectablesLazily collected list of members that were annotated to indicate that they represent mutators for deserializer value injection.protected java.util.LinkedList<AnnotatedMethod>_jsonValueGettersMethod(s) marked with 'JsonValue' annotationprotected java.util.LinkedHashMap<java.lang.String,POJOPropertyBuilder>_propertiesSet of logical property information collected so farprotected JavaType_typeType of POJO for which properties are being collected.protected VisibilityChecker<?>_visibilityChecker
-
Constructor Summary
Constructors Modifier Constructor Description protectedPOJOPropertiesCollector(MapperConfig<?> config, boolean forSerialization, JavaType type, AnnotatedClass classDef)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void_addCreators()Method for collecting basic information on constructor(s) foundprotected void_addFields()Method for collecting basic information on all fields foundprotected void_addInjectables()protected void_addMethods()Method for collecting basic information on all fields foundprotected void_doAddInjectable(java.lang.Object id, AnnotatedMember m)protected POJOPropertyBuilder_property(java.lang.String implName)protected void_removeUnwantedProperties()Method called to get rid of candidate properties that are marked as ignored, or that are not visible.protected void_renameProperties()protected void_renameUsing(PropertyNamingStrategy naming)protected void_sortProperties()POJOPropertiesCollectorcollect()Method that orchestrates collection activities, and needs to be called after creating the instance.AnnotationIntrospectorgetAnnotationIntrospector()AnnotatedMethodgetAnyGetterMethod()AnnotatedMethodgetAnySetterMethod()AnnotatedClassgetClassDef()MapperConfig<?>getConfig()java.util.Set<java.lang.String>getIgnoredPropertyNames()java.util.Set<java.lang.String>getIgnoredPropertyNamesForDeser()java.util.Map<java.lang.Object,AnnotatedMember>getInjectables()AnnotatedMethodgetJsonValueMethod()java.util.List<BeanPropertyDefinition>getProperties()protected java.util.Map<java.lang.String,POJOPropertyBuilder>getPropertyMap()JavaTypegetType()protected voidreportProblem(java.lang.String msg)
-
-
-
Field Detail
-
_config
protected final MapperConfig<?> _config
Configuration settings
-
_forSerialization
protected final boolean _forSerialization
True if introspection is done for serialization (giving precedence for serialization annotations), or not (false, deserialization)
-
_type
protected final JavaType _type
Type of POJO for which properties are being collected.
-
_classDef
protected final AnnotatedClass _classDef
Low-level introspected class information (methods, fields etc)
-
_visibilityChecker
protected final VisibilityChecker<?> _visibilityChecker
-
_annotationIntrospector
protected final AnnotationIntrospector _annotationIntrospector
-
_properties
protected final java.util.LinkedHashMap<java.lang.String,POJOPropertyBuilder> _properties
Set of logical property information collected so far
-
_creatorProperties
protected java.util.LinkedList<POJOPropertyBuilder> _creatorProperties
-
_anyGetters
protected java.util.LinkedList<AnnotatedMethod> _anyGetters
-
_anySetters
protected java.util.LinkedList<AnnotatedMethod> _anySetters
-
_jsonValueGetters
protected java.util.LinkedList<AnnotatedMethod> _jsonValueGetters
Method(s) marked with 'JsonValue' annotation
-
_ignoredPropertyNames
protected java.util.Set<java.lang.String> _ignoredPropertyNames
Lazily collected list of properties that can be implicitly ignored during serialization; only updated when collecting information for deserialization purposes
-
_ignoredPropertyNamesForDeser
protected java.util.Set<java.lang.String> _ignoredPropertyNamesForDeser
Alternate set of property names that have been marked for explicit ignoral for deserialization: needed to deal with 1.x definition of ignorable with respect to "any setter" (see [JACKSON-313], [JACKSON-383])- Since:
- 1.9.4
-
_injectables
protected java.util.LinkedHashMap<java.lang.Object,AnnotatedMember> _injectables
Lazily collected list of members that were annotated to indicate that they represent mutators for deserializer value injection.
-
-
Constructor Detail
-
POJOPropertiesCollector
protected POJOPropertiesCollector(MapperConfig<?> config, boolean forSerialization, JavaType type, AnnotatedClass classDef)
-
-
Method Detail
-
getConfig
public MapperConfig<?> getConfig()
-
getType
public JavaType getType()
-
getClassDef
public AnnotatedClass getClassDef()
-
getAnnotationIntrospector
public AnnotationIntrospector getAnnotationIntrospector()
-
getProperties
public java.util.List<BeanPropertyDefinition> getProperties()
-
getInjectables
public java.util.Map<java.lang.Object,AnnotatedMember> getInjectables()
-
getJsonValueMethod
public AnnotatedMethod getJsonValueMethod()
-
getAnyGetterMethod
public AnnotatedMethod getAnyGetterMethod()
-
getAnySetterMethod
public AnnotatedMethod getAnySetterMethod()
-
getIgnoredPropertyNames
public java.util.Set<java.lang.String> getIgnoredPropertyNames()
-
getIgnoredPropertyNamesForDeser
public java.util.Set<java.lang.String> getIgnoredPropertyNamesForDeser()
- Since:
- 1.9.4
-
getPropertyMap
protected java.util.Map<java.lang.String,POJOPropertyBuilder> getPropertyMap()
-
collect
public POJOPropertiesCollector collect()
Method that orchestrates collection activities, and needs to be called after creating the instance.
-
_sortProperties
protected void _sortProperties()
-
_addFields
protected void _addFields()
Method for collecting basic information on all fields found
-
_addCreators
protected void _addCreators()
Method for collecting basic information on constructor(s) found
-
_addMethods
protected void _addMethods()
Method for collecting basic information on all fields found
-
_addInjectables
protected void _addInjectables()
-
_doAddInjectable
protected void _doAddInjectable(java.lang.Object id, AnnotatedMember m)
-
_removeUnwantedProperties
protected void _removeUnwantedProperties()
Method called to get rid of candidate properties that are marked as ignored, or that are not visible.
-
_renameProperties
protected void _renameProperties()
-
_renameUsing
protected void _renameUsing(PropertyNamingStrategy naming)
-
reportProblem
protected void reportProblem(java.lang.String msg)
-
_property
protected POJOPropertyBuilder _property(java.lang.String implName)
-
-