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
SimpleFilterProvider
implementation that just stores direct id-to-filter mapping.Note that version 2.3 was a partial rewrite, now that
PropertyFilter
is set to replaceBeanPropertyFilter
.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
_cfgFailOnUnknownId
Flag that indicates whether request for an unknown filter id should result an exception (default) or not.protected PropertyFilter
_defaultFilter
This is the filter we return in case no mapping was found for given id; default is 'null' (in which case caller typically reports an error), but can be set to an explicit filter.protected java.util.Map<java.lang.String,PropertyFilter>
_filtersById
Mappings from ids to filters.
-
Constructor Summary
Constructors Constructor Description SimpleFilterProvider()
SimpleFilterProvider(java.util.Map<java.lang.String,?> mapping)
-
Method Summary
-
-
-
Field Detail
-
_filtersById
protected final java.util.Map<java.lang.String,PropertyFilter> _filtersById
Mappings from ids to filters.
-
_defaultFilter
protected PropertyFilter _defaultFilter
This is the filter we return in case no mapping was found for given id; default is 'null' (in which case caller typically reports an error), but can be set to an explicit filter.
-
_cfgFailOnUnknownId
protected boolean _cfgFailOnUnknownId
Flag that indicates whether request for an unknown filter id should result an exception (default) or not. Note that this is only relevant if no default filter has been configured.
-
-
Method Detail
-
setDefaultFilter
@Deprecated public SimpleFilterProvider setDefaultFilter(BeanPropertyFilter f)
Deprecated.Since 2.3 should usePropertyFilter
instead ofBeanPropertyFilter
Method 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)
-
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)
-
addFilter
public SimpleFilterProvider addFilter(java.lang.String id, SimpleBeanPropertyFilter filter)
Overloaded variant just to resolve "ties" when usingSimpleBeanPropertyFilter
.
-
removeFilter
public PropertyFilter removeFilter(java.lang.String id)
-
findFilter
@Deprecated public BeanPropertyFilter findFilter(java.lang.Object filterId)
Deprecated.Description copied from class:FilterProvider
Lookup method used to findBeanPropertyFilter
that 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:
findFilter
in 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:FilterProvider
Lookup method used to findPropertyFilter
that 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
findFilter
method, then wrap filter if one found asPropertyFilter
. It should be overridden by up-to-date implementations- Overrides:
findPropertyFilter
in 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.
-
-