public class ItemFilters
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
ItemFilters.AttributeFilter<M> |
static class |
ItemFilters.AttributeValue<M> |
static class |
ItemFilters.BooleanFilter |
private static class |
ItemFilters.Compare<M extends java.lang.Comparable<? super M>> |
static class |
ItemFilters.Composite |
static class |
ItemFilters.Contains |
private static class |
ItemFilters.Equals<M> |
static class |
ItemFilters.HasAttribute<M> |
private static class |
ItemFilters.IsNotNull<M> |
private static class |
ItemFilters.IsNull<M> |
static class |
ItemFilters.Matches |
private static class |
ItemFilters.MemberOf<M> |
static class |
ItemFilters.Not |
static class |
ItemFilters.NotContains |
private static class |
ItemFilters.NotEquals<M> |
static class |
ItemFilters.NotHasAttribute<M> |
static class |
ItemFilters.NotMatches |
private static class |
ItemFilters.RangeMatches<M extends java.lang.Comparable<? super M>> |
static class |
ItemFilters.Type |
static class |
ItemFilters.TypeMatches |
static class |
ItemFilters.Types |
Constructor and Description |
---|
ItemFilters() |
Modifier and Type | Method and Description |
---|---|
static IItemFilter |
all() |
static IItemFilter |
and(IItemFilter... filters) |
static <V extends java.lang.Comparable<V>> |
buildComparisonFilter(PersistableItemFilter.Kind comparisonKind,
ICanonicalAccessorFactory<V> attribute,
V value) |
static <V> IItemFilter |
buildEqualityFilter(PersistableItemFilter.Kind comparisonKind,
ICanonicalAccessorFactory<V> attribute,
V value) |
static <V> IItemFilter |
buildExistenceFilter(PersistableItemFilter.Kind comparisonKind,
ICanonicalAccessorFactory<V> attribute,
V value) |
static IItemFilter |
buildStringFilter(PersistableItemFilter.Kind comparisonKind,
ICanonicalAccessorFactory<java.lang.String> attribute,
java.lang.String value) |
static <M extends java.lang.Comparable<? super M>> |
centerContainedIn(ICanonicalAccessorFactory<IRange<M>> rangeAttribute,
IRange<M> rangeLimit)
Match a range according to
RangeMatchPolicy.CENTER_CONTAINED_IN_RIGHT_OPEN . |
static IItemFilter |
contains(ICanonicalAccessorFactory<java.lang.String> attribute,
java.lang.String substring) |
static IItemFilter |
convertToTypes(IItemFilter filter,
java.util.List<IType<IItem>> types) |
static <M> IItemFilter |
equals(ICanonicalAccessorFactory<M> attribute,
M value) |
static <V> IItemFilter |
hasAttribute(ICanonicalAccessorFactory<V> attribute) |
static <M extends java.lang.Comparable<? super M>> |
interval(ICanonicalAccessorFactory<M> attribute,
M lowerLimit,
boolean lowerClosed,
M upperLimit,
boolean upperClosed) |
static <M> IItemFilter |
isNotNull(ICanonicalAccessorFactory<M> attribute)
Creates an item filter that will return true if attribute value exists, and is not null.
|
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.
|
static <M extends java.lang.Comparable<? super M>> |
less(ICanonicalAccessorFactory<M> attribute,
M upperLimit) |
static <M extends java.lang.Comparable<? super M>> |
lessOrEqual(ICanonicalAccessorFactory<M> attribute,
M upperLimit) |
static IItemFilter |
matches(ICanonicalAccessorFactory<java.lang.String> attribute,
java.lang.String regexp) |
static <M extends java.lang.Comparable<? super M>> |
matchRange(PersistableItemFilter.Kind kind,
ICanonicalAccessorFactory<IRange<M>> rangeAttribute,
IRange<M> rangeLimit) |
static <M extends java.lang.Comparable<? super M>> |
matchRange(RangeMatchPolicy policy,
ICanonicalAccessorFactory<IRange<M>> rangeAttribute,
IRange<M> rangeLimit) |
static <M> IItemFilter |
memberOf(ICanonicalAccessorFactory<M> attribute,
java.util.Set<M> values) |
static <M extends java.lang.Comparable<? super M>> |
more(ICanonicalAccessorFactory<M> attribute,
M lowerLimit) |
static <M extends java.lang.Comparable<? super M>> |
moreOrEqual(ICanonicalAccessorFactory<M> attribute,
M lowerLimit) |
static IItemFilter |
none() |
static IItemFilter |
not(IItemFilter filter) |
static IItemFilter |
notContains(ICanonicalAccessorFactory<java.lang.String> attribute,
java.lang.String regexp) |
static <M> IItemFilter |
notEquals(ICanonicalAccessorFactory<M> attribute,
M value) |
static <V> IItemFilter |
notHasAttribute(ICanonicalAccessorFactory<V> attribute) |
static IItemFilter |
notMatches(ICanonicalAccessorFactory<java.lang.String> attribute,
java.lang.String regexp) |
private static <M> ItemFilters.Composite |
optimizeOr(ICanonicalAccessorFactory<M> attribute,
IItemFilter... filters) |
static IItemFilter |
or(IItemFilter... filters) |
static <M extends java.lang.Comparable<? super M>> |
rangeContainedIn(ICanonicalAccessorFactory<IRange<M>> rangeAttribute,
IRange<M> rangeLimit)
Match a range according to
RangeMatchPolicy.CONTAINED_IN_CLOSED . |
static <M extends java.lang.Comparable<? super M>> |
rangeIntersects(ICanonicalAccessorFactory<IRange<M>> rangeAttribute,
IRange<M> rangeLimit)
Match a range according to
RangeMatchPolicy.CLOSED_INTERSECTS_WITH_CLOSED . |
static IItemFilter |
type(java.util.Set<java.lang.String> typeIds) |
static IItemFilter |
type(java.lang.String... typeIds) |
static IItemFilter |
type(java.lang.String typeId) |
static IItemFilter |
typeMatches(java.lang.String typeMatches) |
public static IItemFilter type(java.lang.String typeId)
public static IItemFilter type(java.lang.String... typeIds)
public static <V> IItemFilter hasAttribute(ICanonicalAccessorFactory<V> attribute)
public static <V> IItemFilter notHasAttribute(ICanonicalAccessorFactory<V> attribute)
public static IItemFilter type(java.util.Set<java.lang.String> typeIds)
public static IItemFilter typeMatches(java.lang.String typeMatches)
public static <M> IItemFilter equals(ICanonicalAccessorFactory<M> attribute, M value)
public static <M> IItemFilter notEquals(ICanonicalAccessorFactory<M> attribute, M value)
public static <M> IItemFilter isNull(ICanonicalAccessorFactory<M> attribute)
isNotNull(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.M
- attribute value typeattribute
- attribute to filter onpublic static <M> IItemFilter isNotNull(ICanonicalAccessorFactory<M> attribute)
isNull(org.openjdk.jmc.common.item.ICanonicalAccessorFactory<M>)
M
- attribute value typeattribute
- attribute to filter onpublic static IItemFilter all()
public static IItemFilter none()
public static IItemFilter matches(ICanonicalAccessorFactory<java.lang.String> attribute, java.lang.String regexp)
public static IItemFilter contains(ICanonicalAccessorFactory<java.lang.String> attribute, java.lang.String substring)
public static IItemFilter notMatches(ICanonicalAccessorFactory<java.lang.String> attribute, java.lang.String regexp)
public static IItemFilter notContains(ICanonicalAccessorFactory<java.lang.String> attribute, java.lang.String regexp)
public static <M> IItemFilter memberOf(ICanonicalAccessorFactory<M> attribute, java.util.Set<M> values)
public static <M extends java.lang.Comparable<? super M>> IItemFilter less(ICanonicalAccessorFactory<M> attribute, M upperLimit)
public static <M extends java.lang.Comparable<? super M>> IItemFilter lessOrEqual(ICanonicalAccessorFactory<M> attribute, M upperLimit)
public static <M extends java.lang.Comparable<? super M>> IItemFilter more(ICanonicalAccessorFactory<M> attribute, M lowerLimit)
public static <M extends java.lang.Comparable<? super M>> IItemFilter moreOrEqual(ICanonicalAccessorFactory<M> attribute, M lowerLimit)
public static <M extends java.lang.Comparable<? super M>> IItemFilter rangeIntersects(ICanonicalAccessorFactory<IRange<M>> rangeAttribute, IRange<M> rangeLimit)
RangeMatchPolicy.CLOSED_INTERSECTS_WITH_CLOSED
.M
- the type of end points of the rangesrangeAttribute
- the range attribute that should be filtered on (treated as closed)rangeLimit
- the limiting range (treated as closed)public static <M extends java.lang.Comparable<? super M>> IItemFilter rangeContainedIn(ICanonicalAccessorFactory<IRange<M>> rangeAttribute, IRange<M> rangeLimit)
RangeMatchPolicy.CONTAINED_IN_CLOSED
.M
- the type of end points of the rangesrangeAttribute
- the range attribute that should be filtered on (treated as right open, unless
single point)rangeLimit
- the limiting range (treated as closed)public static <M extends java.lang.Comparable<? super M>> IItemFilter centerContainedIn(ICanonicalAccessorFactory<IRange<M>> rangeAttribute, IRange<M> rangeLimit)
RangeMatchPolicy.CENTER_CONTAINED_IN_RIGHT_OPEN
.M
- the type of end points of the rangesrangeAttribute
- the range attribute whose center should be filtered onrangeLimit
- the limiting range (treated as right open)public static <M extends java.lang.Comparable<? super M>> IItemFilter matchRange(RangeMatchPolicy policy, ICanonicalAccessorFactory<IRange<M>> rangeAttribute, IRange<M> rangeLimit)
public static <M extends java.lang.Comparable<? super M>> IItemFilter matchRange(PersistableItemFilter.Kind kind, ICanonicalAccessorFactory<IRange<M>> rangeAttribute, IRange<M> rangeLimit)
public static <M extends java.lang.Comparable<? super M>> IItemFilter interval(ICanonicalAccessorFactory<M> attribute, M lowerLimit, boolean lowerClosed, M upperLimit, boolean upperClosed)
public static IItemFilter and(IItemFilter... filters)
public static IItemFilter or(IItemFilter... filters)
private static <M> ItemFilters.Composite optimizeOr(ICanonicalAccessorFactory<M> attribute, IItemFilter... filters)
public static IItemFilter not(IItemFilter filter)
public static IItemFilter convertToTypes(IItemFilter filter, java.util.List<IType<IItem>> types)
public static <V> IItemFilter buildEqualityFilter(PersistableItemFilter.Kind comparisonKind, ICanonicalAccessorFactory<V> attribute, V value)
public static <V> IItemFilter buildExistenceFilter(PersistableItemFilter.Kind comparisonKind, ICanonicalAccessorFactory<V> attribute, V value)
public static IItemFilter buildStringFilter(PersistableItemFilter.Kind comparisonKind, ICanonicalAccessorFactory<java.lang.String> attribute, java.lang.String value)
public static <V extends java.lang.Comparable<V>> IItemFilter buildComparisonFilter(PersistableItemFilter.Kind comparisonKind, ICanonicalAccessorFactory<V> attribute, V value)