Package org.springframework.util
Class InstanceFilter<T>
- java.lang.Object
- org.springframework.util.InstanceFilter<T>
- Direct Known Subclasses:
ExceptionTypeFilter
public class InstanceFilter<T> extends Object
A simple instance filter that checks if a given instance match based on a collection of includes and excludes element.Subclasses may want to override
match(Object, Object)
to provide a custom matching algorithm.- Since:
- 4.1
- Author:
- Stephane Nicoll
Constructor Summary
Constructors Constructor Description InstanceFilter(Collection<? extends T> includes, Collection<? extends T> excludes, boolean matchIfEmpty)
Create a new instance based on includes/excludes collections.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
match(T instance)
Determine if the specified {code instance} matches this filter.protected boolean
match(T instance, Collection<? extends T> candidates)
Determine if the specifiedinstance
matches one of the candidates.protected boolean
match(T instance, T candidate)
Determine if the specifiedinstance
is equal to the specifiedcandidate
.String
toString()
Constructor Detail
InstanceFilter
public InstanceFilter(Collection<? extends T> includes, Collection<? extends T> excludes, boolean matchIfEmpty)
Create a new instance based on includes/excludes collections.A particular element will match if it "matches" the one of the element in the includes list and does not match one of the element in the excludes list.
Subclasses may redefine what matching means. By default, an element match with another if it is equals according to
Object.equals(Object)
If both collections are empty,
matchIfEmpty
defines if an element matches or not.- Parameters:
includes
- the collection of includesexcludes
- the collection of excludesmatchIfEmpty
- the matching result if both the includes and the excludes collections are empty
Method Detail
match
public boolean match(T instance)
Determine if the specified {code instance} matches this filter.
match
protected boolean match(T instance, T candidate)
Determine if the specifiedinstance
is equal to the specifiedcandidate
.- Parameters:
instance
- the instance to handlecandidate
- a candidate defined by this filter- Returns:
true
if the instance matches the candidate
match
protected boolean match(T instance, Collection<? extends T> candidates)
Determine if the specifiedinstance
matches one of the candidates.If the candidates collection is
null
, returnsfalse
.- Parameters:
instance
- the instance to checkcandidates
- a list of candidates- Returns:
true
if the instance match or the candidates collection is null