public abstract class FilterPredicate extends Object
| Modifier and Type | Field and Description |
|---|---|
static FilterPredicate |
EMPTY_FILTER |
| Constructor and Description |
|---|
FilterPredicate() |
| Modifier and Type | Method and Description |
|---|---|
static FilterPredicate |
and(FilterPredicate... predicates)
Returns true if all input predicates return true.
|
FilterPredicate |
and(FilterPredicate p)
Creates a new AND predicate using this predicate and an input predicate
|
static FilterPredicate |
and(FilterPredicate p1,
FilterPredicate p2)
Returns true if both input predicates return true.
|
static FilterPredicate |
btwn(String name,
Object low,
Object high)
Returns a predicate that checks whether the row column value is between two comparison values.
|
static FilterPredicate |
compile(String predicateString) |
static FilterPredicate |
empty()
Creates an empty predicate.
|
static FilterPredicate |
eq(FilterPredicate p1,
FilterPredicate p2)
Compares two predicates and returns true if the results are equal
return p1.valid(row) == p2.valid(row) |
static FilterPredicate |
eq(String name,
Object value)
Creates a
ComparePredicate using equals operation |
static FilterPredicate |
eqColumn(String nameA,
String nameB)
Creates a
ColumnComparePredicate using equals operation |
static FilterPredicate |
ge(String name,
Object value)
Creates a
ComparePredicate using greater or equal operation |
static FilterPredicate |
geColumn(String nameA,
String nameB)
Creates a
ColumnComparePredicate using greater or equal operation |
static FilterPredicate |
gt(String name,
Object value)
Creates a
ComparePredicate using greater than operation |
static FilterPredicate |
gtColumn(String nameA,
String nameB)
Creates a
ColumnComparePredicate using greater than operation |
static FilterPredicate |
in(String name,
Collection<Object> values)
Returns a predicate that checks whether the row column value is contained in a collection of comparison values.
|
static FilterPredicate |
in(String name,
Object[] values)
Returns a predicate that checks whether the row column value is contained in an array of comparison values.
|
static FilterPredicate |
in(String name,
Set<Object> values)
Returns a predicate that checks whether the row column value is contained in a set of comparison values.
|
static FilterPredicate |
le(String name,
Object value)
Creates a
ComparePredicate using lower or equal operation |
static FilterPredicate |
leColumn(String nameA,
String nameB)
Creates a
ColumnComparePredicate using lower or equal operation |
static FilterPredicate |
lt(String name,
Object value)
Creates a
ComparePredicate using lower than operation |
static FilterPredicate |
ltColumn(String nameA,
String nameB)
Creates a
ColumnComparePredicate using lower than operation |
static FilterPredicate |
matches(String name,
Pattern pattern)
Returns a
MatchPredicate that checks whether the row column value matches a specified Pattern. |
static FilterPredicate |
matches(String name,
String patternString)
Returns a
MatchPredicate that checks whether the row column value matches a specified pattern string. |
static FilterPredicate |
ne(FilterPredicate p1,
FilterPredicate p2)
Compares two predicates and returns true if the results are not equal
return p1.valid(row) ! |
static FilterPredicate |
ne(String name,
Object value)
Creates a
ComparePredicate using not equals operation |
static FilterPredicate |
neColumn(String nameA,
String nameB)
Creates a
ColumnComparePredicate using not equals operation |
FilterPredicate |
neg()
Negates this predicate
|
FilterPredicate |
nor(FilterPredicate p)
Creates a new NOR predicate using this predicate and an input predicate
|
static FilterPredicate |
nor(FilterPredicate p1,
FilterPredicate p2)
Returns true if one input predicate returns true and the other predicate returns false.
|
static FilterPredicate |
not(FilterPredicate filterPredicate)
Returns the not predicate for a specified input predicate.
|
static FilterPredicate |
or(FilterPredicate... predicates)
Returns true if at least one input predicate returns true.
|
FilterPredicate |
or(FilterPredicate p)
Creates a new OR predicate using this predicate and an input predicate
|
static FilterPredicate |
or(FilterPredicate p1,
FilterPredicate p2)
Returns true if at least one input predicate returns true.
|
abstract String |
toString()
Returns a string representation for this predicate
|
abstract boolean |
valid(Row row)
Returns true if the row is valid for this predicate
|
FilterPredicate |
xor(FilterPredicate p)
Creates a new XOR predicate using this predicate and an input predicate
|
static FilterPredicate |
xor(FilterPredicate p1,
FilterPredicate p2)
Returns true if one input predicate returns true and the other predicate returns false.
|
public static final FilterPredicate EMPTY_FILTER
public abstract boolean valid(Row row)
row - tested rowpublic abstract String toString()
public static FilterPredicate empty()
public FilterPredicate and(FilterPredicate p)
p - input predicateand(FilterPredicate, FilterPredicate)public FilterPredicate or(FilterPredicate p)
p - input predicateor(FilterPredicate, FilterPredicate)public FilterPredicate xor(FilterPredicate p)
p - input predicatexor(FilterPredicate, FilterPredicate)public FilterPredicate nor(FilterPredicate p)
p - input predicatexor(FilterPredicate, FilterPredicate)public FilterPredicate neg()
public static FilterPredicate not(FilterPredicate filterPredicate)
return !filterPredicate.valid(row)filterPredicate - input predicatepublic static FilterPredicate ne(FilterPredicate p1, FilterPredicate p2)
return p1.valid(row) != p2.valid(row)p1 - first input predicatep2 - second input predicatepublic static FilterPredicate eq(FilterPredicate p1, FilterPredicate p2)
return p1.valid(row) == p2.valid(row)p1 - first input predicatep2 - second input predicatepublic static FilterPredicate and(FilterPredicate... predicates)
return p1.valid(row) AND p2.valid(row) AND ... AND pn.valid(row)predicates - input predicatespublic static FilterPredicate or(FilterPredicate... predicates)
return p1.valid(row) OR p2.valid(row) OR ... OR pn.valid(row)predicates - input predicatespublic static FilterPredicate and(FilterPredicate p1, FilterPredicate p2)
return p1.valid(row) AND p2.valid(row)p1 - first input predicatep2 - second input predicatepublic static FilterPredicate or(FilterPredicate p1, FilterPredicate p2)
return p1.valid(row) OR p2.valid(row)p1 - first input predicatep2 - second input predicatepublic static FilterPredicate xor(FilterPredicate p1, FilterPredicate p2)
return p1.valid(row) OR p2.valid(row)p1 - first input predicatep2 - second input predicatepublic static FilterPredicate nor(FilterPredicate p1, FilterPredicate p2)
return !p1.valid(row) AND !p2.valid(row)p1 - first input predicatep2 - second input predicatepublic static FilterPredicate ne(String name, Object value)
ComparePredicate using not equals operationname - row column namevalue - value for comparisonComparePredicate.Operation.NEpublic static FilterPredicate neColumn(String nameA, String nameB)
ColumnComparePredicate using not equals operationnameA - first row column namenameB - second row column nameComparePredicate.Operation.NEpublic static FilterPredicate eq(String name, Object value)
ComparePredicate using equals operationname - row column namevalue - value for comparisonComparePredicate.Operation.EQpublic static FilterPredicate eqColumn(String nameA, String nameB)
ColumnComparePredicate using equals operationnameA - first row column namenameB - second row column nameComparePredicate.Operation.EQpublic static FilterPredicate gt(String name, Object value)
ComparePredicate using greater than operationname - row column namevalue - value for comparisonComparePredicate.Operation.GTpublic static FilterPredicate gtColumn(String nameA, String nameB)
ColumnComparePredicate using greater than operationnameA - first row column namenameB - second row column nameComparePredicate.Operation.GTpublic static FilterPredicate lt(String name, Object value)
ComparePredicate using lower than operationname - row column namevalue - value for comparisonComparePredicate.Operation.LTpublic static FilterPredicate ltColumn(String nameA, String nameB)
ColumnComparePredicate using lower than operationnameA - first row column namenameB - second row column nameComparePredicate.Operation.LTpublic static FilterPredicate ge(String name, Object value)
ComparePredicate using greater or equal operationname - row column namevalue - value for comparisonComparePredicate.Operation.GEpublic static FilterPredicate geColumn(String nameA, String nameB)
ColumnComparePredicate using greater or equal operationnameA - first row column namenameB - second row column nameComparePredicate.Operation.LEpublic static FilterPredicate le(String name, Object value)
ComparePredicate using lower or equal operationname - row column namevalue - value for comparisonComparePredicate.Operation.LEpublic static FilterPredicate leColumn(String nameA, String nameB)
ColumnComparePredicate using lower or equal operationnameA - first row column namenameB - second row column nameComparePredicate.Operation.LEpublic static FilterPredicate in(String name, Object[] values)
comparison_values.contains(row.getValue(name))
name - row column namevalues - values for comparisonpublic static FilterPredicate in(String name, Collection<Object> values)
comparison_values.contains(row.getValue(name))
name - row column namevalues - values for comparisonpublic static FilterPredicate in(String name, Set<Object> values)
comparison_values.contains(row.getValue(name))
name - row column namevalues - values for comparisonpublic static FilterPredicate btwn(String name, Object low, Object high)
row.get(name) > low AND row.get(name) < high
name - row column namelow - low valuehigh - high valuepublic static FilterPredicate matches(String name, Pattern pattern)
MatchPredicate that checks whether the row column value matches a specified Pattern.
pattern.matches(row.get(name))
name - row column namepattern - match patternpublic static FilterPredicate matches(String name, String patternString)
MatchPredicate that checks whether the row column value matches a specified pattern string.name - row column namepatternString - match pattern stringmatches(String, Pattern)public static FilterPredicate compile(String predicateString)
Copyright © 2017. All rights reserved.