Top Description Methods
tools.jackson.databind.ser

public Interface PropertyFilter

extends Snapshottable<PropertyFilter>
Known Direct Implementers
tools.jackson.databind.ser.std.SimpleBeanPropertyFilter
Imports
tools.jackson.core.JsonGenerator, tools.jackson.core.util.Snapshottable, tools.jackson.databind.SerializationContext, tools.jackson.databind.jsonFormatVisitors.JsonObjectFormatVisitor

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

Note that since this is an interface, it is strongly recommended that custom implementations extend tools.jackson.databind.ser.std.SimpleBeanPropertyFilter, to avoid backwards compatibility issues in case interface needs to change.

Method Summary

Modifier and TypeMethod and Description
public void
depositSchemaProperty(PropertyWriter
Bean property serializer to use to create schema value
writer
,
JsonObjectFormatVisitor
JsonObjectFormatVisitor which should be aware of the property's existence
v
,
SerializationContext
Serialization context
ctxt
)

Method called by BeanSerializer to let the filter determine whether, and in what form the given property exist within the parent, or root, schema.

public void
serializeAsElement(Object
Element value being serializerd
elementValue
,
JsonGenerator
Generator use for serializing value
g
,
SerializationContext
Provider that can be used for accessing dynamic aspects of serialization processing
ctxt
,
PropertyWriter
Object called to do actual serialization of the field, if not filtered out
writer
)

Method called by container to let the filter decide what to do with given element value: the usual choices are to either filter out (i.e. do nothing) or write using given PropertyWriter, although filters can choose other to do something different altogether.

public void
serializeAsProperty(Object
Object that contains property value to serialize
pojo
,
JsonGenerator
Generator use for serializing value
g
,
SerializationContext
Provider that can be used for accessing dynamic aspects of serialization processing
ctxt
,
PropertyWriter
Object called to do actual serialization of the field, if not filtered out
writer
)

Method called by BeanSerializer to let the 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 PropertyWriter, although filters can choose other to do something different altogether.

Inherited from tools.jackson.core.util.Snapshottable:
snapshottakeSnapshot

Method Detail

depositSchemaPropertyback to summary
public void depositSchemaProperty(PropertyWriter writer, JsonObjectFormatVisitor v, SerializationContext ctxt)

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:PropertyWriter

Bean property serializer to use to create schema value

v:JsonObjectFormatVisitor

JsonObjectFormatVisitor which should be aware of the property's existence

ctxt:SerializationContext

Serialization context

serializeAsElementback to summary
public void serializeAsElement(Object elementValue, JsonGenerator g, SerializationContext ctxt, PropertyWriter writer) throws Exception

Method called by container to let the filter decide what to do with given element value: the usual choices are to either filter out (i.e. do nothing) or write using given PropertyWriter, although filters can choose other to do something different altogether.

Typical implementation is something like:

 if (include(writer)) {
      writer.serializeAsElement(pojo, gen, prov);
 }
Parameters
elementValue:Object

Element value being serializerd

g:JsonGenerator

Generator use for serializing value

ctxt:SerializationContext

Provider that can be used for accessing dynamic aspects of serialization processing

writer:PropertyWriter

Object called to do actual serialization of the field, if not filtered out

serializeAsPropertyback to summary
public void serializeAsProperty(Object pojo, JsonGenerator g, SerializationContext ctxt, PropertyWriter writer) throws Exception

Method called by BeanSerializer to let the 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 PropertyWriter, although filters can choose other to do something different altogether.

Typical implementation is something like:

 if (include(writer)) {
      writer.serializeAsProperty(pojo, gen, prov);
 }
Parameters
pojo:Object

Object that contains property value to serialize

g:JsonGenerator

Generator use for serializing value

ctxt:SerializationContext

Provider that can be used for accessing dynamic aspects of serialization processing

writer:PropertyWriter

Object called to do actual serialization of the field, if not filtered out