public class BeanSerializerBuilder extends Object
JsonSerializer for serializing
intances.
Main reason for using separate builder class is that this makes it easier
to make actual serializer class fully immutable.| Modifier and Type | Field and Description |
|---|---|
protected AnyGetterWriter |
_anyGetter
Writer used for "any getter" properties, if any.
|
protected BeanDescription |
_beanDesc |
protected SerializationConfig |
_config |
protected BeanPropertyWriter[] |
_filteredProperties
Optional array of filtered property writers; if null, no
view-based filtering is performed.
|
protected Object |
_filterId
Id of the property filter to use for POJO, if any.
|
protected ObjectIdWriter |
_objectIdWriter
Object responsible for serializing Object Ids for the handled
type, if any.
|
protected List<BeanPropertyWriter> |
_properties
Bean properties, in order of serialization
|
protected AnnotatedMember |
_typeId
Property that is used for type id (and not serialized as regular
property)
|
| Modifier | Constructor and Description |
|---|---|
|
BeanSerializerBuilder(BeanDescription beanDesc) |
protected |
BeanSerializerBuilder(BeanSerializerBuilder src)
Copy-constructor that may be used for sub-classing
|
| Modifier and Type | Method and Description |
|---|---|
JsonSerializer<?> |
build()
Method called to create
BeanSerializer instance with
all accumulated information. |
BeanSerializer |
createDummy()
Factory method for constructing an "empty" serializer; one that
outputs no properties (but handles JSON objects properly, including
type information)
|
AnyGetterWriter |
getAnyGetter() |
BeanDescription |
getBeanDescription() |
AnnotatedClass |
getClassInfo() |
BeanPropertyWriter[] |
getFilteredProperties() |
Object |
getFilterId() |
ObjectIdWriter |
getObjectIdWriter() |
List<BeanPropertyWriter> |
getProperties() |
AnnotatedMember |
getTypeId() |
boolean |
hasProperties() |
void |
setAnyGetter(AnyGetterWriter anyGetter) |
protected void |
setConfig(SerializationConfig config)
Initialization method called right after construction, to specify
configuration to use.
|
void |
setFilteredProperties(BeanPropertyWriter[] properties) |
void |
setFilterId(Object filterId) |
void |
setObjectIdWriter(ObjectIdWriter w) |
void |
setProperties(List<BeanPropertyWriter> properties) |
void |
setTypeId(AnnotatedMember idProp) |
protected final BeanDescription _beanDesc
protected SerializationConfig _config
protected List<BeanPropertyWriter> _properties
protected BeanPropertyWriter[] _filteredProperties
protected AnyGetterWriter _anyGetter
protected Object _filterId
protected AnnotatedMember _typeId
protected ObjectIdWriter _objectIdWriter
public BeanSerializerBuilder(BeanDescription beanDesc)
protected BeanSerializerBuilder(BeanSerializerBuilder src)
protected void setConfig(SerializationConfig config)
Note: ideally should be passed in constructor, but for backwards compatibility, needed to add a setter instead
public void setProperties(List<BeanPropertyWriter> properties)
public void setFilteredProperties(BeanPropertyWriter[] properties)
properties - Number and order of properties here MUST match that
of "regular" properties set earlier using setProperties(List); if not,
an IllegalArgumentException will be thrownpublic void setAnyGetter(AnyGetterWriter anyGetter)
public void setFilterId(Object filterId)
public void setTypeId(AnnotatedMember idProp)
public void setObjectIdWriter(ObjectIdWriter w)
public AnnotatedClass getClassInfo()
public BeanDescription getBeanDescription()
public List<BeanPropertyWriter> getProperties()
public boolean hasProperties()
public BeanPropertyWriter[] getFilteredProperties()
public AnyGetterWriter getAnyGetter()
public Object getFilterId()
public AnnotatedMember getTypeId()
public ObjectIdWriter getObjectIdWriter()
public JsonSerializer<?> build()
BeanSerializer instance with
all accumulated information. Will construct a serializer if we
have enough information, or return null if not.public BeanSerializer createDummy()
Copyright © 2008–2020 FasterXML. All rights reserved.