Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.fasterxml.jackson.databind.ser;
  
Interface that defines API for filter objects use (as configured using com.fasterxml.jackson.annotation.JsonFilter) for filtering bean properties to serialize.

Note that this is the replacement for BeanPropertyFilter, which is replaced because it was too closely bound to Bean properties and would not work with java.util.Maps or "any getters".

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

Since:
2.3
 
 public interface PropertyFilter
 {
    
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.serializeAsField(pojo, jgen, prov);
 }

Parameters:
pojo Object that contains property value to serialize
jgen Generator use for serializing value
prov Provider that can be used for accessing dynamic aspects of serialization processing
writer Object called to do actual serialization of the field, if not filtered out
 
     public void serializeAsField(Object pojoJsonGenerator jgenSerializerProvider prov,
             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, jgen, prov);
 }

Parameters:
elementValue Element value being serializerd
jgen Generator use for serializing value
prov Provider that can be used for accessing dynamic aspects of serialization processing
writer Object called to do actual serialization of the field, if not filtered out
 
     public void serializeAsElement(Object elementValueJsonGenerator jgenSerializerProvider prov,
             PropertyWriter writer)
         throws Exception;
    
    
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);
 }

Deprecated:
Since 2.3: new code should use the alternative depositSchemaProperty method
Parameters:
writer Bean property writer 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
 
     @Deprecated
     public void depositSchemaProperty(PropertyWriter writerObjectNode 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(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
    public void depositSchemaProperty(PropertyWriter writerJsonObjectFormatVisitor objectVisitor,
            SerializerProvider provider)
        throws JsonMappingException;
New to GrepCode? Check out our FAQ X