Class POJOPropertiesCollector
- java.lang.Object
-
- org.codehaus.jackson.map.introspect.POJOPropertiesCollector
-
public class POJOPropertiesCollector extends Object
Helper 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
_annotationIntrospector
protected LinkedList<AnnotatedMethod>
_anyGetters
protected LinkedList<AnnotatedMethod>
_anySetters
protected AnnotatedClass
_classDef
Low-level introspected class information (methods, fields etc)protected MapperConfig<?>
_config
Configuration settingsprotected LinkedList<POJOPropertyBuilder>
_creatorProperties
protected boolean
_forSerialization
True if introspection is done for serialization (giving precedence for serialization annotations), or not (false, deserialization)protected HashSet<String>
_ignoredPropertyNames
Lazily collected list of properties that can be implicitly ignored during serialization; only updated when collecting information for deserialization purposesprotected LinkedHashMap<Object,AnnotatedMember>
_injectables
Lazily collected list of members that were annotated to indicate that they represent mutators for deserializer value injection.protected LinkedList<AnnotatedMethod>
_jsonValueGetters
Method(s) marked with 'JsonValue' annotationprotected LinkedHashMap<String,POJOPropertyBuilder>
_properties
Set of logical property information collected so farprotected JavaType
_type
Type of POJO for which properties are being collected.protected VisibilityChecker<?>
_visibilityChecker
-
Constructor Summary
Constructors Modifier Constructor Description protected
POJOPropertiesCollector(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(Object id, AnnotatedMember m)
protected POJOPropertyBuilder
_property(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()
POJOPropertiesCollector
collect()
Method that orchestrates collection activities, and needs to be called after creating the instance.AnnotationIntrospector
getAnnotationIntrospector()
AnnotatedMethod
getAnyGetterMethod()
AnnotatedMethod
getAnySetterMethod()
AnnotatedClass
getClassDef()
MapperConfig<?>
getConfig()
Set<String>
getIgnoredPropertyNames()
Map<Object,AnnotatedMember>
getInjectables()
AnnotatedMethod
getJsonValueMethod()
List<BeanPropertyDefinition>
getProperties()
protected Map<String,POJOPropertyBuilder>
getPropertyMap()
JavaType
getType()
protected void
reportProblem(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 LinkedHashMap<String,POJOPropertyBuilder> _properties
Set of logical property information collected so far
-
_creatorProperties
protected LinkedList<POJOPropertyBuilder> _creatorProperties
-
_anyGetters
protected LinkedList<AnnotatedMethod> _anyGetters
-
_anySetters
protected LinkedList<AnnotatedMethod> _anySetters
-
_jsonValueGetters
protected LinkedList<AnnotatedMethod> _jsonValueGetters
Method(s) marked with 'JsonValue' annotation
-
_ignoredPropertyNames
protected HashSet<String> _ignoredPropertyNames
Lazily collected list of properties that can be implicitly ignored during serialization; only updated when collecting information for deserialization purposes
-
_injectables
protected LinkedHashMap<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 List<BeanPropertyDefinition> getProperties()
-
getInjectables
public Map<Object,AnnotatedMember> getInjectables()
-
getJsonValueMethod
public AnnotatedMethod getJsonValueMethod()
-
getAnyGetterMethod
public AnnotatedMethod getAnyGetterMethod()
-
getAnySetterMethod
public AnnotatedMethod getAnySetterMethod()
-
getPropertyMap
protected Map<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(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(String msg)
-
_property
protected POJOPropertyBuilder _property(String implName)
-
-