public class BeanPropertyWriter extends Object implements BeanProperty
Note that current design tries to keep instances immutable (semi-functional style); mostly because these instances are exposed to application code and this is to reduce likelihood of data corruption and synchronization issues.
BeanProperty.Std| Modifier and Type | Field and Description | 
|---|---|
| protected Method | _accessorMethodAccessor method used to get property value, for
 method-accessible properties. | 
| protected JavaType | _cfgSerializationTypeType to use for locating serializer; normally same as return
 type of the accessor method, but may be overridden by annotations. | 
| protected Annotations | _contextAnnotationsAnnotations from context (most often, class that declares property,
 or in case of sub-class serializer, from that sub-class) | 
| protected JavaType | _declaredTypeType property is declared to have, either in class definition 
 or associated annotations. | 
| protected PropertySerializerMap | _dynamicSerializersIn case serializer is not known statically (i.e. | 
| protected Field | _fieldField that contains the property value for field-accessible
 properties. | 
| protected Class<?>[] | _includeInViewsAlternate set of property writers used when view-based filtering
 is available for the Bean. | 
| protected HashMap<Object,Object> | _internalSettings | 
| protected boolean | _isRequiredWhether value of this property has been marked as required. | 
| protected AnnotatedMember | _memberMember (field, method) that represents property and allows access
 to associated annotations. | 
| protected SerializedString | _nameLogical name of the property; will be used as the field name
 under which value for the property is written. | 
| protected JavaType | _nonTrivialBaseTypeBase type of the property, if the declared type is "non-trivial";
 meaning it is either a structured type (collection, map, array),
 or parameterized. | 
| protected JsonSerializer<Object> | _nullSerializerSerializer used for writing out null values, if any: if null,
 null values are to be suppressed. | 
| protected JsonSerializer<Object> | _serializerSerializer to use for writing out the value: null if it can not
 be known statically; non-null if it can. | 
| protected Object | _suppressableValueValue that is considered default value of the property; used for
 default-value-suppression if enabled. | 
| protected boolean | _suppressNullsWhether null values are to be suppressed (nothing written out if
 value is null) or not. | 
| protected TypeSerializer | _typeSerializerIf property being serialized needs type information to be
 included this is the type serializer to use. | 
| protected PropertyName | _wrapperNameWrapper name to use for this element, if any | 
| static Object | MARKER_FOR_EMPTYMarker object used to indicate "do not serialize if empty" | 
| Modifier | Constructor and Description | 
|---|---|
|   | BeanPropertyWriter(BeanPropertyDefinition propDef,
                  AnnotatedMember member,
                  Annotations contextAnnotations,
                  JavaType declaredType,
                  JsonSerializer<?> ser,
                  TypeSerializer typeSer,
                  JavaType serType,
                  boolean suppressNulls,
                  Object suppressableValue) | 
| protected  | BeanPropertyWriter(BeanPropertyWriter base)"Copy constructor" to be used by filtering sub-classes | 
| protected  | BeanPropertyWriter(BeanPropertyWriter base,
                  SerializedString name) | 
| Modifier and Type | Method and Description | 
|---|---|
| protected JsonSerializer<Object> | _findAndAddDynamic(PropertySerializerMap map,
                  Class<?> type,
                  SerializerProvider provider) | 
| protected void | _handleSelfReference(Object bean,
                    JsonSerializer<?> ser) | 
| void | assignNullSerializer(JsonSerializer<Object> nullSer)Method called to assign null value serializer for property | 
| void | assignSerializer(JsonSerializer<Object> ser)Method called to assign value serializer for property | 
| void | depositSchemaProperty(JsonObjectFormatVisitor objectVisitor)Method that can be called to visit the type structure that this
 property is part of. | 
| void | depositSchemaProperty(ObjectNode propertiesNode,
                     SerializerProvider provider)Attempt to add the output of the given  BeanPropertyWriterin the givenObjectNode. | 
| Object | get(Object bean)Method that can be used to access value of the property this
 Object describes, from given bean instance. | 
| <A extends Annotation>  | getAnnotation(Class<A> acls)Method for finding annotation associated with this property;
 meaning annotation associated with one of entities used to
 access property. | 
| <A extends Annotation>  | getContextAnnotation(Class<A> acls)Method for finding annotation associated with context of
 this property; usually class in which member is declared
 (or its subtype if processing subtype). | 
| Type | getGenericPropertyType()Get the generic property type of this property writer. | 
| Object | getInternalSetting(Object key)Method for accessing value of specified internal setting. | 
| AnnotatedMember | getMember()Method for accessing primary physical entity that represents the property;
 annotated field, method or constructor property. | 
| String | getName()Method to get logical name of the property | 
| Class<?> | getPropertyType() | 
| Class<?> | getRawSerializationType() | 
| JavaType | getSerializationType() | 
| SerializedString | getSerializedName() | 
| JsonSerializer<Object> | getSerializer() | 
| JavaType | getType()Method to get declared type of the property. | 
| Class<?>[] | getViews() | 
| PropertyName | getWrapperName()If property is indicated to be wrapped, name of
 wrapper element to use. | 
| boolean | hasNullSerializer() | 
| boolean | hasSerializer() | 
| boolean | isRequired()Whether value for property is marked as required using
 annotations or associated schema. | 
| protected boolean | isRequired(AnnotationIntrospector intr)Deprecated. 
 since 2.2, use  isRequired()instead. | 
| Object | removeInternalSetting(Object key)Method for removing entry for specified internal setting. | 
| BeanPropertyWriter | rename(NameTransformer transformer) | 
| void | serializeAsColumn(Object bean,
                 JsonGenerator jgen,
                 SerializerProvider prov)Alternative to  serializeAsField(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)that is used when a POJO
 is serialized as JSON Array; the difference is that no field names
 are written. | 
| void | serializeAsField(Object bean,
                JsonGenerator jgen,
                SerializerProvider prov)Method called to access property that this bean stands for, from
 within given bean, and to serialize it as a JSON Object field
 using appropriate serializer. | 
| void | serializeAsPlaceholder(Object bean,
                      JsonGenerator jgen,
                      SerializerProvider prov)Method called to serialize a placeholder used in tabular output when
 real value is not to be included (is filtered out), but when we need
 an entry so that field indexes will not be off. | 
| Object | setInternalSetting(Object key,
                  Object value)Method for setting specific internal setting to given value | 
| void | setNonTrivialBaseType(JavaType t)Method called to define type to consider as "non-trivial" basetype,
 needed for dynamic serialization resolution for complex (usually container)
 types | 
| String | toString() | 
| BeanPropertyWriter | unwrappingWriter(NameTransformer unwrapper)Method called create an instance that handles details of unwrapping
 contained value. | 
| boolean | willSuppressNulls() | 
public static final Object MARKER_FOR_EMPTY
protected final AnnotatedMember _member
protected final Annotations _contextAnnotations
protected final JavaType _declaredType
protected final Method _accessorMethod
_field is null.protected final Field _field
_accessorMethod is null.protected final SerializedString _name
protected final PropertyName _wrapperName
protected final JavaType _cfgSerializationType
protected JsonSerializer<Object> _serializer
protected JsonSerializer<Object> _nullSerializer
protected PropertySerializerMap _dynamicSerializers
_serializer
 is null), we will use a lookup structure for storing dynamically
 resolved mapping from type(s) to serializer(s).protected final boolean _suppressNulls
protected final Object _suppressableValue
protected final Class<?>[] _includeInViews
protected TypeSerializer _typeSerializer
protected JavaType _nonTrivialBaseType
protected final boolean _isRequired
public BeanPropertyWriter(BeanPropertyDefinition propDef, AnnotatedMember member, Annotations contextAnnotations, JavaType declaredType, JsonSerializer<?> ser, TypeSerializer typeSer, JavaType serType, boolean suppressNulls, Object suppressableValue)
protected BeanPropertyWriter(BeanPropertyWriter base)
protected BeanPropertyWriter(BeanPropertyWriter base, SerializedString name)
public BeanPropertyWriter rename(NameTransformer transformer)
public void assignSerializer(JsonSerializer<Object> ser)
public void assignNullSerializer(JsonSerializer<Object> nullSer)
public BeanPropertyWriter unwrappingWriter(NameTransformer unwrapper)
public void setNonTrivialBaseType(JavaType t)
public String getName()
BeanPropertygetName in interface BeanPropertygetName in interface Namedpublic JavaType getType()
BeanPropertygetType in interface BeanPropertypublic PropertyName getWrapperName()
BeanPropertygetWrapperName in interface BeanPropertypublic boolean isRequired()
BeanPropertyisRequired in interface BeanPropertypublic <A extends Annotation> A getAnnotation(Class<A> acls)
BeanPropertygetAnnotation in interface BeanPropertypublic <A extends Annotation> A getContextAnnotation(Class<A> acls)
BeanPropertygetContextAnnotation in interface BeanPropertypublic AnnotatedMember getMember()
BeanPropertygetMember in interface BeanPropertypublic void depositSchemaProperty(JsonObjectFormatVisitor objectVisitor) throws JsonMappingException
BeanPropertyUnsupportedOperationException.depositSchemaProperty in interface BeanPropertyobjectVisitor - Visitor to used as the callback handlerJsonMappingExceptionpublic Object getInternalSetting(Object key)
public Object setInternalSetting(Object key, Object value)
public Object removeInternalSetting(Object key)
public SerializedString getSerializedName()
public boolean hasSerializer()
public boolean hasNullSerializer()
public boolean willSuppressNulls()
public JsonSerializer<Object> getSerializer()
public JavaType getSerializationType()
public Class<?> getRawSerializationType()
public Class<?> getPropertyType()
public Type getGenericPropertyType()
public Class<?>[] getViews()
@Deprecated protected boolean isRequired(AnnotationIntrospector intr)
isRequired() instead.NOTE: due to introspection, this is a slow method to call and should never be called during actual serialization or filtering of the property. Rather it is needed for traversal needed for things like constructing JSON Schema instances.
public void depositSchemaProperty(ObjectNode propertiesNode, SerializerProvider provider) throws JsonMappingException
BeanPropertyWriter in the given ObjectNode.
 Otherwise, add the default schema JsonNode in place of the writer's outputpropertiesNode - Node which the given property would exist withinprovider - Provider that can be used for accessing dynamic aspects of serialization
  processing
  
  BeanPropertyFilter.depositSchemaProperty(BeanPropertyWriter, ObjectNode, SerializerProvider)JsonMappingExceptionpublic void serializeAsField(Object bean, JsonGenerator jgen, SerializerProvider prov) throws Exception
Exceptionpublic void serializeAsColumn(Object bean, JsonGenerator jgen, SerializerProvider prov) throws Exception
serializeAsField(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider) that is used when a POJO
 is serialized as JSON Array; the difference is that no field names
 are written.Exceptionpublic void serializeAsPlaceholder(Object bean, JsonGenerator jgen, SerializerProvider prov) throws Exception
Exceptionprotected JsonSerializer<Object> _findAndAddDynamic(PropertySerializerMap map, Class<?> type, SerializerProvider provider) throws JsonMappingException
JsonMappingExceptionpublic final Object get(Object bean) throws Exception
 Note: method is final as it should not need to be overridden -- rather,
 calling method(s) (serializeAsField(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)) should be overridden
 to change the behavior
Exceptionprotected void _handleSelfReference(Object bean, JsonSerializer<?> ser) throws JsonMappingException
JsonMappingExceptionCopyright © 2012-2013 FasterXML. All Rights Reserved.