## Uses of Class
com.fasterxml.jackson.databind.ser.BeanPropertyWriter

Packages that use BeanPropertyWriter
com.fasterxml.jackson.databind: Basic data binding (mapping) functionality that allows for reading JSON content into Java Objects (POJOs) and JSON Trees (`JsonNode`), as well as writing Java Objects and trees as JSON.
com.fasterxml.jackson.databind.introspect: Functionality needed for Bean introspection, required for detecting accessors and mutators for Beans, as well as locating and handling method annotations.
com.fasterxml.jackson.databind.ser: Contains implementation classes of serialization part of data binding.
com.fasterxml.jackson.databind.ser.impl: Contains implementation classes of serialization part of data binding.
com.fasterxml.jackson.databind.ser.std

### Uses of BeanPropertyWriter in com.fasterxml.jackson.databind

Method parameters in com.fasterxml.jackson.databind with type arguments of type BeanPropertyWriter
`void` AnnotationIntrospector.`findAndAddVirtualProperties(MapperConfig<?> config, AnnotatedClass ac, List<BeanPropertyWriter> properties)` Method for adding possible virtual properties to be serialized along with regular properties.

### Uses of BeanPropertyWriter in com.fasterxml.jackson.databind.introspect

Methods in com.fasterxml.jackson.databind.introspect that return BeanPropertyWriter
`protected BeanPropertyWriter` JacksonAnnotationIntrospector.`_constructVirtualProperty(JsonAppend.Attr attr, MapperConfig<?> config, AnnotatedClass ac, JavaType type)`
`protected BeanPropertyWriter` JacksonAnnotationIntrospector.`_constructVirtualProperty(JsonAppend.Prop prop, MapperConfig<?> config, AnnotatedClass ac)`

Method parameters in com.fasterxml.jackson.databind.introspect with type arguments of type BeanPropertyWriter
`void` JacksonAnnotationIntrospector.`findAndAddVirtualProperties(MapperConfig<?> config, AnnotatedClass ac, List<BeanPropertyWriter> properties)`
`void` AnnotationIntrospectorPair.`findAndAddVirtualProperties(MapperConfig<?> config, AnnotatedClass ac, List<BeanPropertyWriter> properties)`

### Uses of BeanPropertyWriter in com.fasterxml.jackson.databind.ser

Subclasses of BeanPropertyWriter in com.fasterxml.jackson.databind.ser
`class` `VirtualBeanPropertyWriter` `BeanPropertyWriter` implementation used with `JsonAppend` to add "virtual" properties in addition to regular ones.

Fields in com.fasterxml.jackson.databind.ser declared as BeanPropertyWriter
`protected BeanPropertyWriter[]` BeanSerializerBuilder.`_filteredProperties` Optional array of filtered property writers; if null, no view-based filtering is performed.

Fields in com.fasterxml.jackson.databind.ser with type parameters of type BeanPropertyWriter
`protected List<BeanPropertyWriter>` BeanSerializerBuilder.`_properties` Bean properties, in order of serialization

Methods in com.fasterxml.jackson.databind.ser that return BeanPropertyWriter
`protected BeanPropertyWriter` BeanSerializerFactory.`_constructWriter(SerializerProvider prov, BeanPropertyDefinition propDef, PropertyBuilder pb, boolean staticTyping, AnnotatedMember accessor)` Secondary helper method for constructing `BeanPropertyWriter` for given member (field or method).
`protected BeanPropertyWriter` BeanPropertyWriter.`_new(PropertyName newName)` Overridable factory method used by sub-classes
`protected BeanPropertyWriter` PropertyBuilder.`buildWriter(SerializerProvider prov, BeanPropertyDefinition propDef, JavaType declaredType, JsonSerializer<?> ser, TypeSerializer typeSer, TypeSerializer contentTypeSer, AnnotatedMember am, boolean defaultUseStaticTyping)`
`protected BeanPropertyWriter` BeanSerializerFactory.`constructFilteredBeanWriter(BeanPropertyWriter writer, Class<?>[] inViews)` Method called to construct a filtered writer, for given view definitions.
`BeanPropertyWriter[]` BeanSerializerBuilder.`getFilteredProperties()`
`BeanPropertyWriter` BeanPropertyWriter.`rename(NameTransformer transformer)`
`BeanPropertyWriter` BeanPropertyWriter.`unwrappingWriter(NameTransformer unwrapper)` Method called create an instance that handles details of unwrapping contained value.

Methods in com.fasterxml.jackson.databind.ser that return types with arguments of type BeanPropertyWriter
`List<BeanPropertyWriter>` BeanSerializerModifier.`changeProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties)` Method called by `BeanSerializerFactory` with tentative set of discovered properties.
`protected List<BeanPropertyWriter>` BeanSerializerFactory.`filterBeanProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> props)` Overridable method that can filter out properties.
`protected List<BeanPropertyWriter>` BeanSerializerFactory.`findBeanProperties(SerializerProvider prov, BeanDescription beanDesc, BeanSerializerBuilder builder)` Method used to collect all actual serializable properties.
`List<BeanPropertyWriter>` BeanSerializerBuilder.`getProperties()`
`List<BeanPropertyWriter>` BeanSerializerModifier.`orderProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties)` Method called by `BeanSerializerFactory` with set of properties to serialize, in default ordering (based on defaults as well as possible type annotations).
`protected List<BeanPropertyWriter>` BeanSerializerFactory.`removeOverlappingTypeIds(SerializerProvider prov, BeanDescription beanDesc, BeanSerializerBuilder builder, List<BeanPropertyWriter> props)` Helper method called to ensure that we do not have "duplicate" type ids.

Methods in com.fasterxml.jackson.databind.ser with parameters of type BeanPropertyWriter
`protected BeanPropertyWriter` BeanSerializerFactory.`constructFilteredBeanWriter(BeanPropertyWriter writer, Class<?>[] inViews)` Method called to construct a filtered writer, for given view definitions.
`void` BeanPropertyFilter.`depositSchemaProperty(BeanPropertyWriter writer, JsonObjectFormatVisitor objectVisitor, SerializerProvider provider)` Deprecated. Method called by `BeanSerializer` to let the filter determine whether, and in what form the given property exist within the parent, or root, schema.
`void` BeanPropertyFilter.`depositSchemaProperty(BeanPropertyWriter writer, ObjectNode propertiesNode, SerializerProvider provider)` Deprecated. Since 2.3: new code should use the alternative `depositSchemaProperty` method
`void` BeanPropertyFilter.`serializeAsField(Object pojo, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider prov, BeanPropertyWriter writer)` Deprecated. Method called by `BeanSerializer` to let filter decide what to do with given bean property value: the usual choices are to either filter out (i.e.
`void` BeanSerializerBuilder.`setFilteredProperties(BeanPropertyWriter[] properties)`

Method parameters in com.fasterxml.jackson.databind.ser with type arguments of type BeanPropertyWriter
`List<BeanPropertyWriter>` BeanSerializerModifier.`changeProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties)` Method called by `BeanSerializerFactory` with tentative set of discovered properties.
`protected ObjectIdWriter` BeanSerializerFactory.`constructObjectIdHandler(SerializerProvider prov, BeanDescription beanDesc, List<BeanPropertyWriter> props)`
`protected List<BeanPropertyWriter>` BeanSerializerFactory.`filterBeanProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> props)` Overridable method that can filter out properties.
`List<BeanPropertyWriter>` BeanSerializerModifier.`orderProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties)` Method called by `BeanSerializerFactory` with set of properties to serialize, in default ordering (based on defaults as well as possible type annotations).
`protected List<BeanPropertyWriter>` BeanSerializerFactory.`removeOverlappingTypeIds(SerializerProvider prov, BeanDescription beanDesc, BeanSerializerBuilder builder, List<BeanPropertyWriter> props)` Helper method called to ensure that we do not have "duplicate" type ids.
`void` BeanSerializerBuilder.`setProperties(List<BeanPropertyWriter> properties)`

Constructors in com.fasterxml.jackson.databind.ser with parameters of type BeanPropertyWriter
Constructor and Description
`BeanPropertyWriter(BeanPropertyWriter base)` "Copy constructor" to be used by filtering sub-classes
`BeanPropertyWriter(BeanPropertyWriter base, PropertyName name)`
`BeanPropertyWriter(BeanPropertyWriter base, com.fasterxml.jackson.core.io.SerializedString name)`
`BeanSerializer(JavaType type, BeanSerializerBuilder builder, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties)`
`BeanSerializer(JavaType type, BeanSerializerBuilder builder, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties)`

### Uses of BeanPropertyWriter in com.fasterxml.jackson.databind.ser.impl

Subclasses of BeanPropertyWriter in com.fasterxml.jackson.databind.ser.impl
`class` `AttributePropertyWriter` `VirtualBeanPropertyWriter` implementation used for `JsonAppend`, to serialize properties backed-by dynamically assignable attribute values.
`class` `UnwrappingBeanPropertyWriter` Variant of `BeanPropertyWriter` which will handle unwrapping of JSON Object (including of properties of Object within surrounding JSON object, and not as sub-object).

Fields in com.fasterxml.jackson.databind.ser.impl declared as BeanPropertyWriter
`protected BeanPropertyWriter` PropertyBasedObjectIdGenerator.`_property`

Methods in com.fasterxml.jackson.databind.ser.impl that return BeanPropertyWriter
`static BeanPropertyWriter` FilteredBeanPropertyWriter.`constructViewBased(BeanPropertyWriter base, Class<?>[] viewsToIncludeIn)`

Methods in com.fasterxml.jackson.databind.ser.impl with parameters of type BeanPropertyWriter
`static BeanPropertyWriter` FilteredBeanPropertyWriter.`constructViewBased(BeanPropertyWriter base, Class<?>[] viewsToIncludeIn)`
`void` SimpleBeanPropertyFilter.`depositSchemaProperty(BeanPropertyWriter writer, JsonObjectFormatVisitor objectVisitor, SerializerProvider provider)` Deprecated.
`void` SimpleBeanPropertyFilter.`depositSchemaProperty(BeanPropertyWriter writer, ObjectNode propertiesNode, SerializerProvider provider)` Deprecated.
`protected boolean` SimpleBeanPropertyFilter.`include(BeanPropertyWriter writer)` Method called to determine whether property will be included (if 'true' returned) or filtered out (if 'false' returned)
`protected boolean` SimpleBeanPropertyFilter.FilterExceptFilter.`include(BeanPropertyWriter writer)`
`protected boolean` SimpleBeanPropertyFilter.SerializeExceptFilter.`include(BeanPropertyWriter writer)`
`void` SimpleBeanPropertyFilter.`serializeAsField(Object bean, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, BeanPropertyWriter writer)` Deprecated.

Constructors in com.fasterxml.jackson.databind.ser.impl with parameters of type BeanPropertyWriter
Constructor and Description
`PropertyBasedObjectIdGenerator(Class<?> scope, BeanPropertyWriter prop)`
`PropertyBasedObjectIdGenerator(ObjectIdInfo oid, BeanPropertyWriter prop)`
`UnwrappingBeanPropertyWriter(BeanPropertyWriter base, NameTransformer unwrapper)`

### Uses of BeanPropertyWriter in com.fasterxml.jackson.databind.ser.std

Fields in com.fasterxml.jackson.databind.ser.std declared as BeanPropertyWriter
`protected BeanPropertyWriter[]` BeanSerializerBase.`_filteredProps` Optional filters used to suppress output of properties that are only to be included in certain views
`protected BeanPropertyWriter[]` BeanSerializerBase.`_props` Writers used for outputting actual property values
`protected static BeanPropertyWriter[]` BeanSerializerBase.`NO_PROPS`

Methods in com.fasterxml.jackson.databind.ser.std with parameters of type BeanPropertyWriter
`protected JsonSerializer<Object>` BeanSerializerBase.`findConvertingSerializer(SerializerProvider provider, BeanPropertyWriter prop)` Helper method that can be used to see if specified property is annotated to indicate use of a converter for property value (in case of container types, it is container type itself, not key or content type).

Constructors in com.fasterxml.jackson.databind.ser.std with parameters of type BeanPropertyWriter
Constructor and Description
`BeanSerializerBase(BeanSerializerBase src, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties)`
`BeanSerializerBase(BeanSerializerBase src, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties)`
`BeanSerializerBase(JavaType type, BeanSerializerBuilder builder, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties)` Constructor used by `BeanSerializerBuilder` to create an instance
`BeanSerializerBase(JavaType type, BeanSerializerBuilder builder, BeanPropertyWriter[] properties, BeanPropertyWriter[] filteredProperties)` Constructor used by `BeanSerializerBuilder` to create an instance