com.fasterxml.jackson.databind.ser
Class BeanSerializerBuilder

java.lang.Object
  extended by com.fasterxml.jackson.databind.ser.BeanSerializerBuilder

public class BeanSerializerBuilder
extends Object

Builder class used for aggregating deserialization information about a POJO, in order to build a JsonSerializer for serializing intances. Main reason for using separate builder class is that this makes it easier to make actual serializer class fully immutable.


Field Summary
protected  AnyGetterWriter _anyGetter
          Writer used for "any getter" properties, if any.
protected  BeanDescription _beanDesc
           
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)
 
Constructor Summary
  BeanSerializerBuilder(BeanDescription beanDesc)
           
protected BeanSerializerBuilder(BeanSerializerBuilder src)
          Copy-constructor that may be used for sub-classing
 
Method Summary
 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()
           
 BeanPropertyWriter[] getFilteredProperties()
           
 Object getFilterId()
           
 ObjectIdWriter getObjectIdWriter()
           
 List<BeanPropertyWriter> getProperties()
           
 AnnotatedMember getTypeId()
           
 boolean hasProperties()
           
 void setAnyGetter(AnyGetterWriter anyGetter)
           
 void setFilteredProperties(BeanPropertyWriter[] properties)
           
 void setFilterId(Object filterId)
           
 void setObjectIdWriter(ObjectIdWriter w)
           
 void setProperties(List<BeanPropertyWriter> properties)
           
 void setTypeId(AnnotatedMember idProp)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_beanDesc

protected final BeanDescription _beanDesc

_properties

protected List<BeanPropertyWriter> _properties
Bean properties, in order of serialization


_filteredProperties

protected BeanPropertyWriter[] _filteredProperties
Optional array of filtered property writers; if null, no view-based filtering is performed.


_anyGetter

protected AnyGetterWriter _anyGetter
Writer used for "any getter" properties, if any.


_filterId

protected Object _filterId
Id of the property filter to use for POJO, if any.


_typeId

protected AnnotatedMember _typeId
Property that is used for type id (and not serialized as regular property)


_objectIdWriter

protected ObjectIdWriter _objectIdWriter
Object responsible for serializing Object Ids for the handled type, if any.

Constructor Detail

BeanSerializerBuilder

public BeanSerializerBuilder(BeanDescription beanDesc)

BeanSerializerBuilder

protected BeanSerializerBuilder(BeanSerializerBuilder src)
Copy-constructor that may be used for sub-classing

Method Detail

setProperties

public void setProperties(List<BeanPropertyWriter> properties)

setFilteredProperties

public void setFilteredProperties(BeanPropertyWriter[] properties)

setAnyGetter

public void setAnyGetter(AnyGetterWriter anyGetter)

setFilterId

public void setFilterId(Object filterId)

setTypeId

public void setTypeId(AnnotatedMember idProp)

setObjectIdWriter

public void setObjectIdWriter(ObjectIdWriter w)

getBeanDescription

public BeanDescription getBeanDescription()

getProperties

public List<BeanPropertyWriter> getProperties()

hasProperties

public boolean hasProperties()

getFilteredProperties

public BeanPropertyWriter[] getFilteredProperties()

getAnyGetter

public AnyGetterWriter getAnyGetter()

getFilterId

public Object getFilterId()

getTypeId

public AnnotatedMember getTypeId()

getObjectIdWriter

public ObjectIdWriter getObjectIdWriter()

build

public JsonSerializer<?> build()
Method called to create BeanSerializer instance with all accumulated information. Will construct a serializer if we have enough information, or return null if not.


createDummy

public BeanSerializer createDummy()
Factory method for constructing an "empty" serializer; one that outputs no properties (but handles JSON objects properly, including type information)



Copyright © 2012 fasterxml.com. All Rights Reserved.