Class InstanceFilter<T>

java.lang.Object
org.springframework.util.InstanceFilter<T>
Type Parameters:
T - the instance type
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

    Modifier and Type
    Method
    Description
    boolean
    match(T instance)
    Determine if the specified instance matches this filter.
    protected boolean
    match(T instance, Collection<? extends T> candidates)
    Determine if the specified instance matches one of the candidates.
    protected boolean
    match(T instance, T candidate)
    Determine if the specified instance is equal to the specified candidate.
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • InstanceFilter

      public InstanceFilter(@Nullable Collection<? extends T> includes, @Nullable 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 includes
      excludes - the collection of excludes
      matchIfEmpty - the matching result if both the includes and the excludes collections are empty
  • Method Details

    • match

      public boolean match(T instance)
      Determine if the specified instance matches this filter.
    • match

      protected boolean match(T instance, T candidate)
      Determine if the specified instance is equal to the specified candidate.
      Parameters:
      instance - the instance to handle
      candidate - 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 specified instance matches one of the candidates.

      If the candidates collection is null, returns false.

      Parameters:
      instance - the instance to check
      candidates - a list of candidates
      Returns:
      true if the instance match or the candidates collection is null
    • toString

      public String toString()
      Overrides:
      toString in class Object