Class SimpleFilterProvider
- All Implemented Interfaces:
Serializable
FilterProvider implementation 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
PropertyFilter is set to replace BeanPropertyFilter.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddFilter(String id, BeanPropertyFilter filter) Deprecated.since 2.3addFilter(String id, SimpleBeanPropertyFilter filter) Overloaded variant just to resolve "ties" when usingSimpleBeanPropertyFilter.addFilter(String id, PropertyFilter filter) Adds an instance ofPropertyFilterassociated with the givenidparameter.findFilter(Object filterId) Deprecated.findPropertyFilter(Object filterId, Object valueToFilter) Lookup method used to findPropertyFilterthat has specified id.removeFilter(String id) Deprecated.Since 2.3 should usePropertyFilterinstead ofBeanPropertyFilterOverloaded variant just to resolve "ties" when usingSimpleBeanPropertyFilter.Method for defining "default filter" to use, if any (nullif none), to return in case no registered instance matches passed filter id.setFailOnUnknownId(boolean state) boolean
-
Constructor Details
-
SimpleFilterProvider
public SimpleFilterProvider() -
SimpleFilterProvider
- Parameters:
mapping- Mapping from id to filter; used as is if if possible
-
-
Method Details
-
setDefaultFilter
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
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
Overloaded variant just to resolve "ties" when usingSimpleBeanPropertyFilter. -
getDefaultFilter
-
setFailOnUnknownId
-
willFailOnUnknownId
public boolean willFailOnUnknownId() -
addFilter
Deprecated.since 2.3 -
addFilter
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
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
-
findFilter
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
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.
-