java.lang.Object
tools.jackson.databind.ser.std.SimpleBeanPropertyFilter
- All Implemented Interfaces:
Snapshottable<PropertyFilter>,PropertyFilter
- Direct Known Subclasses:
SimpleBeanPropertyFilter.FilterExceptFilter,SimpleBeanPropertyFilter.SerializeExceptFilter
Simple
PropertyFilter implementation that only uses property name
to determine whether to serialize property as is, or to filter it out.
Use of this class as the base implementation for any custom
PropertyFilter implementations is strongly encouraged,
because it can provide default implementation for any methods that may
be added in PropertyFilter (as unfortunate as additions may be).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classFilter implementation which defaults to filtering out unknown properties and only serializes ones explicitly listed.static classFilter implementation which defaults to serializing all properties, except for ones explicitly listed to be filtered out. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddepositSchemaProperty(PropertyWriter writer, JsonObjectFormatVisitor objectVisitor, SerializationContext provider) Method called byBeanSerializerto let the filter determine whether, and in what form the given property exist within the parent, or root, schema.static SimpleBeanPropertyFilterConvenience factory method that will return a filter that will simply filter out everything.static SimpleBeanPropertyFilterfilterOutAllExcept(String... propertyArray) static SimpleBeanPropertyFilterfilterOutAllExcept(Set<String> properties) Factory method to construct filter that filters out all properties except ones includes in setprotected booleaninclude(BeanPropertyWriter writer) Method called to determine whether property will be included (if 'true' returned) or filtered out (if 'false' returned)protected booleaninclude(PropertyWriter writer) Method called to determine whether property will be included (if 'true' returned) or filtered out (if 'false' returned)protected booleanincludeElement(Object elementValue) Method that defines what to do with container elements (values contained in an array orCollection: default implementation simply writes them out.static SimpleBeanPropertyFilterConvenience factory method that will return a "no-op" filter that will simply just serialize all properties that are given, and filter out nothing.static SimpleBeanPropertyFilterserializeAllExcept(String... propertyArray) static SimpleBeanPropertyFilterserializeAllExcept(Set<String> properties) voidserializeAsElement(Object elementValue, JsonGenerator g, SerializationContext provider, PropertyWriter 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.voidserializeAsProperty(Object pojo, JsonGenerator g, SerializationContext provider, PropertyWriter writer) Method called byBeanSerializerto let the filter decide what to do with given bean property value: the usual choices are to either filter out (i.e.snapshot()
-
Constructor Details
-
SimpleBeanPropertyFilter
protected SimpleBeanPropertyFilter()
-
-
Method Details
-
snapshot
- Specified by:
snapshotin interfaceSnapshottable<PropertyFilter>
-
serializeAll
Convenience factory method that will return a "no-op" filter that will simply just serialize all properties that are given, and filter out nothing. -
filterOutAll
Convenience factory method that will return a filter that will simply filter out everything. -
filterOutAllExcept
Factory method to construct filter that filters out all properties except ones includes in set -
filterOutAllExcept
-
serializeAllExcept
-
serializeAllExcept
-
include
Method called to determine whether property will be included (if 'true' returned) or filtered out (if 'false' returned) -
include
Method called to determine whether property will be included (if 'true' returned) or filtered out (if 'false' returned) -
includeElement
Method that defines what to do with container elements (values contained in an array orCollection: default implementation simply writes them out. -
serializeAsProperty
public void serializeAsProperty(Object pojo, JsonGenerator g, SerializationContext provider, PropertyWriter writer) throws Exception Description copied from interface:PropertyFilterMethod called byBeanSerializerto 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 givenPropertyWriter, although filters can choose other to do something different altogether.Typical implementation is something like:
if (include(writer)) { writer.serializeAsProperty(pojo, gen, prov); }- Specified by:
serializeAsPropertyin interfacePropertyFilter- Parameters:
pojo- Object that contains property value to serializeg- Generator use for serializing valueprovider- Provider that can be used for accessing dynamic aspects of serialization processingwriter- Object called to do actual serialization of the field, if not filtered out- Throws:
Exception
-
serializeAsElement
public void serializeAsElement(Object elementValue, JsonGenerator g, SerializationContext provider, PropertyWriter writer) throws Exception Description copied from interface:PropertyFilterMethod 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 givenPropertyWriter, although filters can choose other to do something different altogether.Typical implementation is something like:
if (include(writer)) { writer.serializeAsElement(pojo, gen, prov); }- Specified by:
serializeAsElementin interfacePropertyFilter- Parameters:
elementValue- Element value being serializerdg- Generator use for serializing valueprovider- Provider that can be used for accessing dynamic aspects of serialization processingwriter- Object called to do actual serialization of the field, if not filtered out- Throws:
Exception
-
depositSchemaProperty
public void depositSchemaProperty(PropertyWriter writer, JsonObjectFormatVisitor objectVisitor, SerializationContext provider) Description copied from interface:PropertyFilterMethod called byBeanSerializerto 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 propertyTypical implementation is something like:
if (include(writer)) { writer.depositSchemaProperty(objectVisitor, provider); }- Specified by:
depositSchemaPropertyin interfacePropertyFilter- Parameters:
writer- Bean property serializer to use to create schema valueobjectVisitor- JsonObjectFormatVisitor which should be aware of the property's existenceprovider- Serialization context
-