Package org.openjdk.jmc.common.item
Class ItemFilters
- java.lang.Object
-
- org.openjdk.jmc.common.item.ItemFilters
-
public class ItemFilters extends Object
Methods for creating item filters.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ItemFilters.AttributeFilter<M>
static class
ItemFilters.AttributeValue<M>
static class
ItemFilters.BooleanFilter
static class
ItemFilters.Composite
static class
ItemFilters.Contains
static class
ItemFilters.HasAttribute<M>
static class
ItemFilters.Matches
static class
ItemFilters.Not
static class
ItemFilters.NotContains
static class
ItemFilters.NotHasAttribute<M>
static class
ItemFilters.NotMatches
static class
ItemFilters.Type
static class
ItemFilters.TypeMatches
static class
ItemFilters.Types
-
Constructor Summary
Constructors Constructor Description ItemFilters()
-
Method Summary
-
-
-
Method Detail
-
type
public static IItemFilter type(String typeId)
-
type
public static IItemFilter type(String... typeIds)
-
hasAttribute
public static <V> IItemFilter hasAttribute(ICanonicalAccessorFactory<V> attribute)
-
notHasAttribute
public static <V> IItemFilter notHasAttribute(ICanonicalAccessorFactory<V> attribute)
-
type
public static IItemFilter type(Set<String> typeIds)
-
typeMatches
public static IItemFilter typeMatches(String typeMatches)
-
equals
public static <M> IItemFilter equals(ICanonicalAccessorFactory<M> attribute, M value)
-
notEquals
public static <M> IItemFilter notEquals(ICanonicalAccessorFactory<M> attribute, M value)
-
isNull
public static <M> IItemFilter isNull(ICanonicalAccessorFactory<M> attribute)
Creates an item filter that will return true if attribute value is null, or if the attribute doesn't exist, and false otherwise. The negated version ofisNotNull(org.openjdk.jmc.common.item.ICanonicalAccessorFactory<M>)
. Analogous to how java.util.Map.get(key) will return null both if the key is mapped to null, and if the key doesn't exist.- Type Parameters:
M
- attribute value type- Parameters:
attribute
- attribute to filter on- Returns:
- a filter
-
isNotNull
public static <M> IItemFilter isNotNull(ICanonicalAccessorFactory<M> attribute)
Creates an item filter that will return true if attribute value exists, and is not null. The negated version ofisNull(org.openjdk.jmc.common.item.ICanonicalAccessorFactory<M>)
- Type Parameters:
M
- attribute value type- Parameters:
attribute
- attribute to filter on- Returns:
- a filter
-
all
public static IItemFilter all()
- Returns:
- returns a filter matching everything.
-
none
public static IItemFilter none()
- Returns:
- returns a filter matching nothing.
-
matches
public static IItemFilter matches(ICanonicalAccessorFactory<String> attribute, String regexp)
-
contains
public static IItemFilter contains(ICanonicalAccessorFactory<String> attribute, String substring)
-
notMatches
public static IItemFilter notMatches(ICanonicalAccessorFactory<String> attribute, String regexp)
-
notContains
public static IItemFilter notContains(ICanonicalAccessorFactory<String> attribute, String regexp)
-
memberOf
public static <M> IItemFilter memberOf(ICanonicalAccessorFactory<M> attribute, Set<M> values)
-
less
public static <M extends Comparable<? super M>> IItemFilter less(ICanonicalAccessorFactory<M> attribute, M upperLimit)
-
lessOrEqual
public static <M extends Comparable<? super M>> IItemFilter lessOrEqual(ICanonicalAccessorFactory<M> attribute, M upperLimit)
-
more
public static <M extends Comparable<? super M>> IItemFilter more(ICanonicalAccessorFactory<M> attribute, M lowerLimit)
-
moreOrEqual
public static <M extends Comparable<? super M>> IItemFilter moreOrEqual(ICanonicalAccessorFactory<M> attribute, M lowerLimit)
-
rangeIntersects
public static <M extends Comparable<? super M>> IItemFilter rangeIntersects(ICanonicalAccessorFactory<IRange<M>> rangeAttribute, IRange<M> rangeLimit)
Match a range according toRangeMatchPolicy.CLOSED_INTERSECTS_WITH_CLOSED
.- Type Parameters:
M
- the type of end points of the ranges- Parameters:
rangeAttribute
- the range attribute that should be filtered on (treated as closed)rangeLimit
- the limiting range (treated as closed)- Returns:
- a filter that accepts items with attribute values that intersects the limiting range
-
rangeContainedIn
public static <M extends Comparable<? super M>> IItemFilter rangeContainedIn(ICanonicalAccessorFactory<IRange<M>> rangeAttribute, IRange<M> rangeLimit)
Match a range according toRangeMatchPolicy.CONTAINED_IN_CLOSED
.- Type Parameters:
M
- the type of end points of the ranges- Parameters:
rangeAttribute
- the range attribute that should be filtered on (treated as right open, unless single point)rangeLimit
- the limiting range (treated as closed)- Returns:
- a filter that accepts items with attribute values that are contained in the limiting range
-
centerContainedIn
public static <M extends Comparable<? super M>> IItemFilter centerContainedIn(ICanonicalAccessorFactory<IRange<M>> rangeAttribute, IRange<M> rangeLimit)
Match a range according toRangeMatchPolicy.CENTER_CONTAINED_IN_RIGHT_OPEN
.- Type Parameters:
M
- the type of end points of the ranges- Parameters:
rangeAttribute
- the range attribute whose center should be filtered onrangeLimit
- the limiting range (treated as right open)- Returns:
- a filter that accepts items with attribute values whose centers are contained in the limiting range
-
matchRange
public static <M extends Comparable<? super M>> IItemFilter matchRange(RangeMatchPolicy policy, ICanonicalAccessorFactory<IRange<M>> rangeAttribute, IRange<M> rangeLimit)
-
matchRange
public static <M extends Comparable<? super M>> IItemFilter matchRange(PersistableItemFilter.Kind kind, ICanonicalAccessorFactory<IRange<M>> rangeAttribute, IRange<M> rangeLimit)
-
interval
public static <M extends Comparable<? super M>> IItemFilter interval(ICanonicalAccessorFactory<M> attribute, M lowerLimit, boolean lowerClosed, M upperLimit, boolean upperClosed)
-
and
public static IItemFilter and(IItemFilter... filters)
-
or
public static IItemFilter or(IItemFilter... filters)
-
not
public static IItemFilter not(IItemFilter filter)
-
convertToTypes
public static IItemFilter convertToTypes(IItemFilter filter, List<IType<IItem>> types)
-
buildEqualityFilter
public static <V> IItemFilter buildEqualityFilter(PersistableItemFilter.Kind comparisonKind, ICanonicalAccessorFactory<V> attribute, V value)
-
buildExistenceFilter
public static <V> IItemFilter buildExistenceFilter(PersistableItemFilter.Kind comparisonKind, ICanonicalAccessorFactory<V> attribute, V value)
-
buildStringFilter
public static IItemFilter buildStringFilter(PersistableItemFilter.Kind comparisonKind, ICanonicalAccessorFactory<String> attribute, String value)
-
buildComparisonFilter
public static <V extends Comparable<V>> IItemFilter buildComparisonFilter(PersistableItemFilter.Kind comparisonKind, ICanonicalAccessorFactory<V> attribute, V value)
-
-