com.fasterxml.jackson.databind.ser
Interface BeanPropertyFilter

All Known Implementing Classes:
SimpleBeanPropertyFilter, SimpleBeanPropertyFilter.FilterExceptFilter, SimpleBeanPropertyFilter.SerializeExceptFilter

public interface BeanPropertyFilter

Interface that defines API for filter objects use (as configured using JsonFilter) for filtering bean properties to serialize.

Note that Jackson 2.1 added two new methods -- as a result, it is strongly recommended that custom implementations extend SimpleBeanPropertyFilter, to avoid backwards compatibility issues in future.


Method Summary
 void depositSchemaProperty(BeanPropertyWriter writer, JsonObjectFormatVisitor objectVisitor, SerializerProvider provider)
          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 depositSchemaProperty(BeanPropertyWriter writer, ObjectNode propertiesNode, SerializerProvider provider)
          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 serializeAsField(Object bean, JsonGenerator jgen, SerializerProvider prov, BeanPropertyWriter writer)
          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.
 

Method Detail

serializeAsField

void serializeAsField(Object bean,
                      JsonGenerator jgen,
                      SerializerProvider prov,
                      BeanPropertyWriter writer)
                      throws Exception
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. do nothing) or write using given BeanPropertyWriter, although filters can choose other to do something different altogether.

Parameters:
bean - Bean of which property value to serialize
jgen - Generator use for serializing value
prov - Provider that can be used for accessing dynamic aspects of serialization processing
writer - Default bean property serializer to use
Throws:
Exception

depositSchemaProperty

void depositSchemaProperty(BeanPropertyWriter writer,
                           ObjectNode propertiesNode,
                           SerializerProvider provider)
                           throws JsonMappingException
Method called by BeanSerializer to let the filter determine whether, and in what form the given property exist within the parent, or root, schema. Filters can omit adding the property to the node, or choose the form of the schema value for the property.

Typical implementation is something like:

 if (include(writer)) {
      writer.depositSchemaProperty(propertiesNode, provider);
 }

Parameters:
writer - Bean property serializer to use to create schema value
propertiesNode - Node which the given property would exist within
provider - Provider that can be used for accessing dynamic aspects of serialization processing
Throws:
JsonMappingException
Since:
2.1

depositSchemaProperty

void depositSchemaProperty(BeanPropertyWriter writer,
                           JsonObjectFormatVisitor objectVisitor,
                           SerializerProvider provider)
                           throws JsonMappingException
Method called by BeanSerializer to let the filter determine whether, and in what form the given property exist within the parent, or root, schema. Filters can omit adding the property to the node, or choose the form of the schema value for the property

Typical implementation is something like:

 if (include(writer)) {
      writer.depositSchemaProperty(objectVisitor, provider);
 }

Parameters:
writer - Bean property serializer to use to create schema value
objectVisitor - JsonObjectFormatVisitor which should be aware of the property's existence
provider - Provider that can be used for accessing dynamic aspects of serialization processing
Throws:
JsonMappingException
Since:
2.1


Copyright © 2012 FasterXML. All Rights Reserved.