java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.impl.SimpleBeanPropertyFilter
All Implemented Interfaces:
BeanPropertyFilter, PropertyFilter
Direct Known Subclasses:
SimpleBeanPropertyFilter.FilterExceptFilter, SimpleBeanPropertyFilter.SerializeExceptFilter

public class SimpleBeanPropertyFilter extends Object implements BeanPropertyFilter, PropertyFilter
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).

  • Constructor Details

    • SimpleBeanPropertyFilter

      protected SimpleBeanPropertyFilter()
  • Method Details

    • serializeAll

      public static SimpleBeanPropertyFilter 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.
      Since:
      2.6
    • serializeAll

      @Deprecated public static SimpleBeanPropertyFilter serializeAll(Set<String> properties)
      Deprecated.
      Since 2.6; to be removed from 2.7
      Factory method that was accidentally added in 2.5 with arguments; basically works just as an alias of filterOutAllExcept(Set) which is not very useful. Instead, see serializeAll() for intended signature.
    • filterOutAllExcept

      public static SimpleBeanPropertyFilter filterOutAllExcept(Set<String> properties)
      Factory method to construct filter that filters out all properties except ones includes in set
    • filterOutAllExcept

      public static SimpleBeanPropertyFilter filterOutAllExcept(String... propertyArray)
    • serializeAllExcept

      public static SimpleBeanPropertyFilter serializeAllExcept(Set<String> properties)
    • serializeAllExcept

      public static SimpleBeanPropertyFilter serializeAllExcept(String... propertyArray)
    • from

      public static PropertyFilter from(BeanPropertyFilter src)
      Helper method to ease transition from BeanPropertyWriter into PropertyWriter
      Since:
      2.3
    • include

      protected boolean include(BeanPropertyWriter writer)
      Method called to determine whether property will be included (if 'true' returned) or filtered out (if 'false' returned)
    • include

      protected boolean include(PropertyWriter writer)
      Method called to determine whether property will be included (if 'true' returned) or filtered out (if 'false' returned)
      Since:
      2.3
    • includeElement

      protected boolean includeElement(Object elementValue)
      Method that defines what to do with container elements (values contained in an array or Collection: default implementation simply writes them out.
      Since:
      2.3
    • serializeAsField

      @Deprecated public void serializeAsField(Object bean, JsonGenerator jgen, SerializerProvider provider, BeanPropertyWriter writer) throws Exception
      Deprecated.
      Description copied from interface: BeanPropertyFilter
      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.

      Typical implementation is something like:

       if (include(writer)) {
            writer.serializeAsField(pojo, jgen, prov);
       }
      
      Specified by:
      serializeAsField in interface BeanPropertyFilter
      Parameters:
      bean - Object that contains property value to serialize
      jgen - Generator use for serializing value
      provider - Provider that can be used for accessing dynamic aspects of serialization processing
      writer - Default bean property serializer to use
      Throws:
      Exception
    • depositSchemaProperty

      @Deprecated public void depositSchemaProperty(BeanPropertyWriter writer, ObjectNode propertiesNode, SerializerProvider provider) throws JsonMappingException
      Deprecated.
      Description copied from interface: BeanPropertyFilter
      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);
       }
      
      Specified by:
      depositSchemaProperty in interface BeanPropertyFilter
      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
      Throws:
      JsonMappingException
    • depositSchemaProperty

      @Deprecated public void depositSchemaProperty(BeanPropertyWriter writer, JsonObjectFormatVisitor objectVisitor, SerializerProvider provider) throws JsonMappingException
      Deprecated.
      Description copied from interface: BeanPropertyFilter
      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);
       }
      
      Specified by:
      depositSchemaProperty in interface BeanPropertyFilter
      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
    • serializeAsField

      public void serializeAsField(Object pojo, JsonGenerator jgen, SerializerProvider provider, PropertyWriter writer) throws Exception
      Description copied from 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, gen, prov);
       }
      
      Specified by:
      serializeAsField in interface PropertyFilter
      Parameters:
      pojo - Object that contains property value to serialize
      jgen - Generator use for serializing value
      provider - 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
      Throws:
      Exception
    • serializeAsElement

      public void serializeAsElement(Object elementValue, JsonGenerator jgen, SerializerProvider provider, PropertyWriter writer) throws Exception
      Description copied from interface: PropertyFilter
      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);
       }
      
      Specified by:
      serializeAsElement in interface PropertyFilter
      Parameters:
      elementValue - Element value being serializerd
      jgen - Generator use for serializing value
      provider - 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
      Throws:
      Exception
    • depositSchemaProperty

      @Deprecated public void depositSchemaProperty(PropertyWriter writer, ObjectNode propertiesNode, SerializerProvider provider) throws JsonMappingException
      Deprecated.
      Description copied from interface: PropertyFilter
      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);
       }
      
      Specified by:
      depositSchemaProperty in interface PropertyFilter
      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
      Throws:
      JsonMappingException
    • depositSchemaProperty

      public void depositSchemaProperty(PropertyWriter writer, JsonObjectFormatVisitor objectVisitor, SerializerProvider provider) throws JsonMappingException
      Description copied from interface: PropertyFilter
      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);
       }
      
      Specified by:
      depositSchemaProperty in interface PropertyFilter
      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