public class Predicates
extends java.lang.Object
import static cyclops2.function.Predicates.greaterThan;
Stream.of(1,2,3,100,200,300)
.filter(greaterThan(10));
//Stream[100,200,300]
Modifier and Type | Field and Description |
---|---|
static java.util.function.Predicate |
__
wildcard predicate
|
Constructor and Description |
---|
Predicates() |
Modifier and Type | Method and Description |
---|---|
static <T1> java.util.function.Predicate<? super T1> |
allOf(java.util.function.Predicate<? super T1>... preds) |
static <Y> java.util.function.Predicate<Y> |
any() |
static <Y> java.util.function.Predicate<Y> |
any(java.lang.Class<Y> c)
Match against any object that is an instance of supplied type
|
static <T1> java.util.function.Predicate<? super T1> |
anyOf(java.util.function.Predicate<? super T1>... preds) |
static <T1> java.util.function.Predicate<java.lang.Iterable<? super T1>> |
endsWith(T1... items) |
static <V> java.util.function.Predicate<V> |
eq(V value)
Check for universal equality (Object#equals)
Filtering example
|
static <T1 extends java.lang.Comparable<T1>> |
equal(T1 v) |
static <T1 extends java.lang.Comparable<T1>> |
equals(T1 v)
Deprecated.
|
static <V> java.util.function.Predicate<Value<? super V>> |
eqv(Value<? super V> value)
Test for equivalence
null eqv to absent, embedded value equivalency, non-values converted to values before testing
.
|
static <V> java.util.function.Predicate<V> |
eqv2(Value<? super V> value) |
static <V> java.util.function.Predicate<java.lang.Iterable<? super V>> |
eqvIterable(java.lang.Iterable<? super V> iterable) |
static <T1 extends java.lang.Comparable<T1>> |
greaterThan(T1 v) |
static <T1 extends java.lang.Comparable<T1>> |
greaterThanOrEquals(T1 v) |
static <T1> java.util.function.Predicate<java.util.Collection<? super T1>> |
hasItems(java.util.Collection<T1> items) |
static <T1> java.util.function.Predicate<java.util.Collection<? super T1>> |
hasItems(java.util.stream.Stream<T1> items) |
static <T1> java.util.function.Predicate<java.util.Collection<? super T1>> |
hasItems(T1... items) |
static <T1> java.util.function.Predicate<T1> |
in(T1... values) |
static <T1> java.util.function.Predicate<? super T1> |
instanceOf(java.lang.Class<?> clazz) |
static <T> java.util.function.Predicate<T> |
iterablePresent()
import static cyclops2.function.Predicates.valuePresent;
ListX.of(Arrays.asList(),Arrays.asList(1),null)
.filter(iterablePresent());
//ListX[List[1]]
|
static <T1 extends java.lang.Comparable<T1>> |
lessThan(T1 v) |
static <T1 extends java.lang.Comparable<T1>> |
lessThanOrEquals(T1 v) |
static <T1> java.util.function.Predicate<? super T1> |
noneOf(java.util.function.Predicate<? super T1>... preds) |
static <T1> java.util.function.Predicate<T1> |
not(java.util.function.Predicate<T1> p) |
static <T1> java.util.function.Predicate<? super T1> |
nullValue() |
static <T> java.util.function.Predicate<T> |
optionalPresent()
import static cyclops2.function.Predicates.optionalPresent;
ListX.of(Optional.ofNullable(null),Optional.of(1),null)
.filter(optionalPresent());
//ListX[Optional[1]]
|
static <T> java.util.function.Predicate<T> |
p(java.util.function.Predicate<T> p)
Method for point-free Predicate definition (helps with lambda type inferencing)
e.g.
|
static <T> java.util.function.Predicate<T> |
some()
import static cyclops2.function.Predicates.some;
ListX.of(Arrays.asList(),Arrays.asList(1),null, Optional.empty(),Maybe.none())
.filter(some());
//ListX[List[1]]
|
static <T> java.util.function.Predicate<T> |
some(T value)
Alias for eq (results in nicer pattern matching dsl).
|
static <T1> java.util.function.Predicate<java.lang.Iterable<? super T1>> |
startsWith(T1... items) |
static <T> java.util.function.Predicate<T> |
valuePresent()
import static cyclops2.function.Predicates.valuePresent;
ListX.of(Maybe.ofNullable(null),Maybe.just(1),null)
.filter(valuePresent());
//ListX[Maybe[1]]
|
static <T1> java.util.function.Predicate<? super T1> |
xOf(int x,
java.util.function.Predicate<? super T1>... preds) |
public static final java.util.function.Predicate __
import static cyclops2.function.Predicates.__
Eval<String> result = Matchables.listOfValues(1,new MyCase(4,5,6))
.matches(c->c.is(when(__,Predicates.has(4,5,6)),transform("rec")),otherwise("n/a"));
//Eval["rec"]
public static <T> java.util.function.Predicate<T> p(java.util.function.Predicate<T> p)
Predicate<Integer> pred = i->i>10;
Predicates.<Integer>p(i->i>10).and(not(p(i<100));
p
- Supplied predicate (normally as a lambda expression)public static <T> java.util.function.Predicate<T> optionalPresent()
import static cyclops2.function.Predicates.optionalPresent;
ListX.of(Optional.ofNullable(null),Optional.of(1),null)
.filter(optionalPresent());
//ListX[Optional[1]]
public static <T> java.util.function.Predicate<T> valuePresent()
import static cyclops2.function.Predicates.valuePresent;
ListX.of(Maybe.ofNullable(null),Maybe.just(1),null)
.filter(valuePresent());
//ListX[Maybe[1]]
public static <T> java.util.function.Predicate<T> iterablePresent()
import static cyclops2.function.Predicates.valuePresent;
ListX.of(Arrays.asList(),Arrays.asList(1),null)
.filter(iterablePresent());
//ListX[List[1]]
public static <T> java.util.function.Predicate<T> some()
import static cyclops2.function.Predicates.some;
ListX.of(Arrays.asList(),Arrays.asList(1),null, Optional.empty(),Maybe.none())
.filter(some());
//ListX[List[1]]
public static <T> java.util.function.Predicate<T> some(T value)
import static cyclops2.function.Predicates.some
Eval<Integer> result = Matchables.future(FutureW.ofResult(1))
.matches(c-> c.is( when(some(1)), transform(10)), c->c.is(when(instanceOf(RuntimeException.class)), transform(2)),otherwise(3));
//Eval[10]
value
- Value to check for equalitypublic static final <Y> java.util.function.Predicate<Y> any()
__
public static final <Y> java.util.function.Predicate<Y> any(java.lang.Class<Y> c)
import static com.aol.cyclops2.control.Matchable.whenGuard;
import static com.aol.cyclops2.control.Matchable.otherwise;
import static com.aol.cyclops2.control.Matchable.transform;
import static cyclops2.function.Predicates.eq;
import static cyclops2.function.Predicates.any;
Matchable.of(Arrays.asList(1,2,3))
.matches(c->c.is(whenGuard(eq(1),any(Integer.class),eq(4)),transform("2")),otherwise("45"));
c
- Class type to match againstpublic static <V> java.util.function.Predicate<V> eq(V value)
ReactiveSeq.of(1,2,3).filter(anyOf(not(eq(2)),in(1,10,20)));
//ReactiveSeq[1]
Pattern Matching Example
Eval<String> url = Matchables.url(new URL("http://www.aol.com/path?q=hello"))
.on$12_45()
.matches(c->c.is(when(eq("http"),in("www.aol.com","aol.com"),any(),not(eq("q=hello!"))), transform("correct")),otherwise("miss"));
//Eval.now("correct");
value
- Value to check equality ofpublic static <V> java.util.function.Predicate<Value<? super V>> eqv(Value<? super V> value)
Stream.of(Maybe.of(2))
.filter(eqv(Maybe.of(2)))
.forEach(System.out::println);
//Maybe[2]
Stream.of(2)
.filter(eqv(Maybe.of(2)))
.forEach(System.out::println);
//2 (passes filter as equivalent to Maybe[2])
value
- public static <V> java.util.function.Predicate<java.lang.Iterable<? super V>> eqvIterable(java.lang.Iterable<? super V> iterable)
public static <V> java.util.function.Predicate<V> eqv2(Value<? super V> value)
public static <T1> java.util.function.Predicate<T1> not(java.util.function.Predicate<T1> p)
@SafeVarargs public static <T1> java.util.function.Predicate<T1> in(T1... values)
public static <T1 extends java.lang.Comparable<T1>> java.util.function.Predicate<? super T1> greaterThan(T1 v)
public static <T1 extends java.lang.Comparable<T1>> java.util.function.Predicate<? super T1> greaterThanOrEquals(T1 v)
public static <T1 extends java.lang.Comparable<T1>> java.util.function.Predicate<? super T1> lessThan(T1 v)
public static <T1 extends java.lang.Comparable<T1>> java.util.function.Predicate<? super T1> lessThanOrEquals(T1 v)
public static <T1 extends java.lang.Comparable<T1>> java.util.function.Predicate<? super T1> equal(T1 v)
@Deprecated public static <T1 extends java.lang.Comparable<T1>> java.util.function.Predicate<? super T1> equals(T1 v)
public static <T1> java.util.function.Predicate<? super T1> nullValue()
public static <T1> java.util.function.Predicate<java.util.Collection<? super T1>> hasItems(java.util.Collection<T1> items)
public static <T1> java.util.function.Predicate<java.util.Collection<? super T1>> hasItems(java.util.stream.Stream<T1> items)
@SafeVarargs public static <T1> java.util.function.Predicate<java.util.Collection<? super T1>> hasItems(T1... items)
@SafeVarargs public static <T1> java.util.function.Predicate<java.lang.Iterable<? super T1>> startsWith(T1... items)
@SafeVarargs public static <T1> java.util.function.Predicate<java.lang.Iterable<? super T1>> endsWith(T1... items)
public static <T1> java.util.function.Predicate<? super T1> instanceOf(java.lang.Class<?> clazz)
@SafeVarargs public static <T1> java.util.function.Predicate<? super T1> allOf(java.util.function.Predicate<? super T1>... preds)
@SafeVarargs public static <T1> java.util.function.Predicate<? super T1> anyOf(java.util.function.Predicate<? super T1>... preds)
@SafeVarargs public static <T1> java.util.function.Predicate<? super T1> noneOf(java.util.function.Predicate<? super T1>... preds)
@SafeVarargs public static <T1> java.util.function.Predicate<? super T1> xOf(int x, java.util.function.Predicate<? super T1>... preds)