Class SimpleFilterProvider
- java.lang.Object
-
- com.fasterxml.jackson.databind.ser.FilterProvider
-
- com.fasterxml.jackson.databind.ser.impl.SimpleFilterProvider
-
- All Implemented Interfaces:
java.io.Serializable
public class SimpleFilterProvider extends FilterProvider implements java.io.Serializable
SimpleFilterProviderimplementation that just stores direct id-to-filter mapping. It also allows specifying a "default" filter to return if no registered instance matches given filter id.Note that version 2.3 was a partial rewrite, now that
PropertyFilteris set to replaceBeanPropertyFilter.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SimpleFilterProvider()SimpleFilterProvider(java.util.Map<java.lang.String,?> mapping)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description SimpleFilterProvideraddFilter(java.lang.String id, BeanPropertyFilter filter)Deprecated.since 2.3SimpleFilterProvideraddFilter(java.lang.String id, SimpleBeanPropertyFilter filter)Overloaded variant just to resolve "ties" when usingSimpleBeanPropertyFilter.SimpleFilterProvideraddFilter(java.lang.String id, PropertyFilter filter)Adds an instance ofPropertyFilterassociated with the givenidparameter.BeanPropertyFilterfindFilter(java.lang.Object filterId)Deprecated.PropertyFilterfindPropertyFilter(java.lang.Object filterId, java.lang.Object valueToFilter)Lookup method used to findPropertyFilterthat has specified id.PropertyFiltergetDefaultFilter()PropertyFilterremoveFilter(java.lang.String id)SimpleFilterProvidersetDefaultFilter(BeanPropertyFilter f)Deprecated.Since 2.3 should usePropertyFilterinstead ofBeanPropertyFilterSimpleFilterProvidersetDefaultFilter(SimpleBeanPropertyFilter f)Overloaded variant just to resolve "ties" when usingSimpleBeanPropertyFilter.SimpleFilterProvidersetDefaultFilter(PropertyFilter f)Method for defining "default filter" to use, if any (nullif none), to return in case no registered instance matches passed filter id.SimpleFilterProvidersetFailOnUnknownId(boolean state)booleanwillFailOnUnknownId()
-
-
-
Method Detail
-
setDefaultFilter
@Deprecated public SimpleFilterProvider setDefaultFilter(BeanPropertyFilter f)
Deprecated.Since 2.3 should usePropertyFilterinstead ofBeanPropertyFilterMethod for defining filter to return for "unknown" filters; cases where there is no mapping from given id to an explicit filter.- Parameters:
f- Filter to return when no filter is found for given id
-
setDefaultFilter
public SimpleFilterProvider setDefaultFilter(PropertyFilter f)
Method for defining "default filter" to use, if any (nullif none), to return in case no registered instance matches passed filter id.- Parameters:
f- Default filter to set- Returns:
- This provider instance, for call-chaining
-
setDefaultFilter
public SimpleFilterProvider setDefaultFilter(SimpleBeanPropertyFilter f)
Overloaded variant just to resolve "ties" when usingSimpleBeanPropertyFilter.
-
getDefaultFilter
public PropertyFilter getDefaultFilter()
-
setFailOnUnknownId
public SimpleFilterProvider setFailOnUnknownId(boolean state)
-
willFailOnUnknownId
public boolean willFailOnUnknownId()
-
addFilter
@Deprecated public SimpleFilterProvider addFilter(java.lang.String id, BeanPropertyFilter filter)
Deprecated.since 2.3
-
addFilter
public SimpleFilterProvider addFilter(java.lang.String id, PropertyFilter filter)
Adds an instance ofPropertyFilterassociated with the givenidparameter. Note that there can always only be one filter associated with a singleidparameter, meaning a new filter with the sameidwill always override the previously added filter.WARNING: Binding
idorfilterwithnullvalue will not be validated within this method, but during serialization of target class annotated withJsonFilter.- Parameters:
id- The id to associate the filter with.filter- The filter to add;- Returns:
- This provider instance, for call-chaining
-
addFilter
public SimpleFilterProvider addFilter(java.lang.String id, SimpleBeanPropertyFilter filter)
Overloaded variant just to resolve "ties" when usingSimpleBeanPropertyFilter.Adds an instance of
SimpleBeanPropertyFilterassociated with the givenidparameter. Note that there can always only be one filter associated with a singleidparameter, meaning a new filter with the sameidwill always override the previously added filter.WARNING: Binding
idorfilterwithnullvalue will not be validated within this method, but during serialization of target class annotated withJsonFilter.- Parameters:
id- The id to associate the filter with.filter- The filter to add;- Returns:
- This provider instance, for call-chaining
-
removeFilter
public PropertyFilter removeFilter(java.lang.String id)
-
findFilter
@Deprecated public BeanPropertyFilter findFilter(java.lang.Object filterId)
Deprecated.Description copied from class:FilterProviderLookup method used to findBeanPropertyFilterthat has specified id. Note that id is typically aString, but is not necessarily limited to that; that is, while standard components use String, custom implementation can choose other kinds of keys.- Specified by:
findFilterin classFilterProvider- Returns:
- Filter registered with specified id, if one defined; null if none found.
-
findPropertyFilter
public PropertyFilter findPropertyFilter(java.lang.Object filterId, java.lang.Object valueToFilter)
Description copied from class:FilterProviderLookup method used to findPropertyFilterthat has specified id. Note that id is typically aString, but is not necessarily limited to that; that is, while standard components use String, custom implementation can choose other kinds of keys.This method is the replacement for
FilterProvider.findFilter(java.lang.Object)starting with 2.3.Note that the default implementation is designed to support short-term backwards compatibility, and will call the deprecated
findFiltermethod, then wrap filter if one found asPropertyFilter. It should be overridden by up-to-date implementations- Overrides:
findPropertyFilterin classFilterProvider- Parameters:
filterId- Id of the filter to fetchvalueToFilter- Object being filtered (usually POJO, but may be aMap, or in future a container), if available; not available when generating schemas.- Returns:
- Filter to use, if any.
-
-