public class PropertyBuilder extends Object
BeanSerializerFactory that is used to
 construct BeanPropertyWriter instances. Can be sub-classed
 to change behavior.| Modifier and Type | Field and Description | 
|---|---|
| protected AnnotationIntrospector | _annotationIntrospector | 
| protected BeanDescription | _beanDesc | 
| protected SerializationConfig | _config | 
| protected Object | _defaultBeanIf a property has serialization inclusion value of
  JsonInclude.Include.NON_DEFAULT,
 we may need to know the default value of the bean, to know if property value
 equals default one. | 
| protected JsonInclude.Value | _defaultInclusionDefault inclusion mode for properties of the POJO for which
 properties are collected; possibly overridden on
 per-property basis. | 
| protected boolean | _useRealPropertyDefaultsMarker flag used to indicate that "real" default values are to be used
 for properties, as per per-type value inclusion of type  NON_DEFAULT | 
| Constructor and Description | 
|---|
| PropertyBuilder(SerializationConfig config,
               BeanDescription beanDesc) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected Object | _throwWrapped(Exception e,
             String propName,
             Object defaultBean) | 
| protected BeanPropertyWriter | buildWriter(SerializerProvider prov,
           BeanPropertyDefinition propDef,
           JavaType declaredType,
           JsonSerializer<?> ser,
           TypeSerializer typeSer,
           TypeSerializer contentTypeSer,
           AnnotatedMember am,
           boolean defaultUseStaticTyping) | 
| protected JavaType | findSerializationType(Annotated a,
                     boolean useStaticTyping,
                     JavaType declaredType)Method that will try to determine statically defined type of property
 being serialized, based on annotations (for overrides), and alternatively
 declared type (if static typing for serialization is enabled). | 
| Annotations | getClassAnnotations() | 
| protected Object | getDefaultBean() | 
| protected Object | getDefaultValue(JavaType type)Accessor used to find out "default value" to use for comparing values to
 serialize, to determine whether to exclude value from serialization with
 inclusion type of  JsonInclude.Include.NON_DEFAULT. | 
| protected Object | getPropertyDefaultValue(String name,
                       AnnotatedMember member,
                       JavaType type)Deprecated. 
 Since 2.8.5 since this will not allow determining difference between "no default instance"
    case and default being `null`. | 
protected final SerializationConfig _config
protected final BeanDescription _beanDesc
protected final AnnotationIntrospector _annotationIntrospector
protected Object _defaultBean
JsonInclude.Include.NON_DEFAULT,
 we may need to know the default value of the bean, to know if property value
 equals default one.
NOTE: only used if enclosing class defines NON_DEFAULT, but NOT if it is the global default OR per-property override.
protected final JsonInclude.Value _defaultInclusion
protected final boolean _useRealPropertyDefaults
NON_DEFAULTpublic PropertyBuilder(SerializationConfig config, BeanDescription beanDesc)
public Annotations getClassAnnotations()
protected BeanPropertyWriter buildWriter(SerializerProvider prov, BeanPropertyDefinition propDef, JavaType declaredType, JsonSerializer<?> ser, TypeSerializer typeSer, TypeSerializer contentTypeSer, AnnotatedMember am, boolean defaultUseStaticTyping) throws JsonMappingException
contentTypeSer - Optional explicit type information serializer
    to use for contained values (only used for properties that are
    of container type)JsonMappingExceptionprotected JavaType findSerializationType(Annotated a, boolean useStaticTyping, JavaType declaredType) throws JsonMappingException
JsonMappingExceptionprotected Object getDefaultBean()
@Deprecated protected Object getPropertyDefaultValue(String name, AnnotatedMember member, JavaType type)
JsonInclude.Include.NON_DEFAULT.
 This method is called when we specifically want to know default value within context
 of a POJO, when annotation is within containing class, and not for property or
 defined as global baseline.
 Note that returning of pseudo-type
 JsonInclude.Include.NON_EMPTY requires special handling.
protected Object getDefaultValue(JavaType type)
JsonInclude.Include.NON_DEFAULT.
 Default logic is such that for primitives and wrapper types for primitives, expected
 defaults (0 for `int` and `java.lang.Integer`) are returned; for Strings, empty String,
 and for structured (Maps, Collections, arrays) and reference types, criteria
 JsonInclude.Include.NON_DEFAULT
 is used.
Copyright © 2017 JBoss by Red Hat. All rights reserved.