Class IncludeExcludeSet<T,​P>

  • Type Parameters:
    T - The type of element of the set (often a pattern)
    P - The type of the instance passed to the predicate
    All Implemented Interfaces:
    Predicate<P>
    Direct Known Subclasses:
    IncludeExclude

    public class IncludeExcludeSet<T,​P>
    extends Object
    implements Predicate<P>
    Utility class to maintain a set of inclusions and exclusions.

    Maintains a set of included and excluded elements. The method test(Object) will return true IFF the passed object is not in the excluded set AND ( either the included set is empty OR the object is in the included set)

    The type of the underlying Set used may be passed into the constructor, so special sets like Servlet PathMap may be used.

    • Constructor Detail

      • IncludeExcludeSet

        public IncludeExcludeSet()
        Default constructor over HashSet
      • IncludeExcludeSet

        public IncludeExcludeSet​(Class<SET> setClass)
        Construct an IncludeExclude.
        Type Parameters:
        SET - The type of a set to use as the backing store
        Parameters:
        setClass - The type of Set to using internally to hold patterns. Two instances will be created. one for include patterns and one for exclude patters. If the class is also a Predicate, then it is also used as the item test for the set, otherwise a IncludeExcludeSet.SetContainsPredicate instance is created.
      • IncludeExcludeSet

        public IncludeExcludeSet​(Set<T> includeSet,
                                 Predicate<P> includePredicate,
                                 Set<T> excludeSet,
                                 Predicate<P> excludePredicate)
        Construct an IncludeExclude
        Type Parameters:
        SET - The type of a set to use as the backing store
        Parameters:
        includeSet - the Set of items that represent the included space
        includePredicate - the Predicate for included item testing (null for simple Set.contains(Object) test)
        excludeSet - the Set of items that represent the excluded space
        excludePredicate - the Predicate for excluded item testing (null for simple Set.contains(Object) test)
    • Method Detail

      • include

        public void include​(T element)
      • include

        public void include​(T... element)
      • exclude

        public void exclude​(T element)
      • exclude

        public void exclude​(T... element)
      • matches

        @Deprecated
        public boolean matches​(P t)
        Deprecated.
      • test

        public boolean test​(P t)
        Specified by:
        test in interface Predicate<T>
      • isIncludedAndNotExcluded

        public Boolean isIncludedAndNotExcluded​(P t)
        Test Included and not Excluded
        Parameters:
        t - The item to test
        Returns:
        Boolean.TRUE if t is included, Boolean.FALSE if t is excluded and null if neither
      • hasIncludes

        public boolean hasIncludes()
      • size

        public int size()
      • getIncluded

        public Set<T> getIncluded()
      • getExcluded

        public Set<T> getExcluded()
      • clear

        public void clear()
      • isEmpty

        public boolean isEmpty()