Package org.eclipse.jetty.util
Class IncludeExcludeSet<T,P>
java.lang.Object
org.eclipse.jetty.util.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
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 Summary
-
Method Summary
-
Constructor Details
-
IncludeExcludeSet
public IncludeExcludeSet()Default constructor overHashSet
-
IncludeExcludeSet
Construct an IncludeExclude.- Type Parameters:
SET
- The type ofSet
to use as the backing store- Parameters:
setClass
- The type ofSet
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 aPredicate
, then it is also used as the item test for the set, otherwise aIncludeExcludeSet.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 ofSet
to use as the backing store- Parameters:
includeSet
- the Set of items that represent the included spaceincludePredicate
- the Predicate for included item testing (null for simpleSet.contains(Object)
test)excludeSet
- the Set of items that represent the excluded spaceexcludePredicate
- the Predicate for excluded item testing (null for simpleSet.contains(Object)
test)
-
-
Method Details
-
include
-
include
-
exclude
-
exclude
-
test
Test includes and excludes for match.Excludes always win over includes.
Empty includes means all inputs are allowed.
-
isIncludedAndNotExcluded
Test Included and not Excluded- Parameters:
item
- The item to test- Returns:
Boolean.TRUE
if item is included,Boolean.FALSE
if item is excluded, or null if neither
-
hasIncludes
public boolean hasIncludes() -
hasExcludes
public boolean hasExcludes() -
size
public int size() -
getIncluded
-
getExcluded
-
clear
public void clear() -
toString
-
isEmpty
public boolean isEmpty()
-