diff options
author | Gary Gregory <garydgregory@gmail.com> | 2020-06-25 10:52:37 -0400 |
---|---|---|
committer | Gary Gregory <garydgregory@gmail.com> | 2020-06-25 10:52:37 -0400 |
commit | 268d4936d4136ce35af688617bbd6874b0854f4c (patch) | |
tree | 3f61a53930660a4d1131a736ad62788a35901c6a /src/main/java/org/apache/commons/lang3/function | |
parent | 180d948d7f0cf73fd9a657ecbcb382b2e9b22cb7 (diff) | |
download | apache-commons-lang-268d4936d4136ce35af688617bbd6874b0854f4c.tar.gz |
[LANG-1568] Predicate or.
Diffstat (limited to 'src/main/java/org/apache/commons/lang3/function')
5 files changed, 60 insertions, 0 deletions
diff --git a/src/main/java/org/apache/commons/lang3/function/FailableBiPredicate.java b/src/main/java/org/apache/commons/lang3/function/FailableBiPredicate.java index f5894b32b..5258daaca 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableBiPredicate.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableBiPredicate.java @@ -85,6 +85,18 @@ public interface FailableBiPredicate<T, U, E extends Throwable> { } /** + * Returns a composed {@code FailableBiPredicate} like {@link BiPredicate#and(BiPredicate)}. + * + * @param other a predicate that will be logically-ORed with this predicate. + * @return a composed {@code FailableBiPredicate} like {@link BiPredicate#and(BiPredicate)}. + * @throws NullPointerException if other is null + */ + default FailableBiPredicate<T, U, E> or(final FailableBiPredicate<? super T, ? super U, E> other) { + Objects.requireNonNull(other); + return (final T t, final U u) -> test(t, u) || other.test(t, u); + } + + /** * Tests the predicate. * * @param object1 the first object to test the predicate on diff --git a/src/main/java/org/apache/commons/lang3/function/FailableDoublePredicate.java b/src/main/java/org/apache/commons/lang3/function/FailableDoublePredicate.java index badc2a589..ec6b2cc6b 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableDoublePredicate.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableDoublePredicate.java @@ -79,6 +79,18 @@ public interface FailableDoublePredicate<E extends Throwable> { } /** + * Returns a composed {@code FailableDoublePredicate} like {@link DoublePredicate#and(DoublePredicate)}. + * + * @param other a predicate that will be logically-ORed with this predicate. + * @return a composed {@code FailableDoublePredicate} like {@link DoublePredicate#and(DoublePredicate)}. + * @throws NullPointerException if other is null + */ + default FailableDoublePredicate<E> or(final FailableDoublePredicate<E> other) { + Objects.requireNonNull(other); + return t -> test(t) || other.test(t); + } + + /** * Tests the predicate. * * @param value the parameter for the predicate to accept. diff --git a/src/main/java/org/apache/commons/lang3/function/FailableIntPredicate.java b/src/main/java/org/apache/commons/lang3/function/FailableIntPredicate.java index 57e0cb1d1..724d6bf4e 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableIntPredicate.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableIntPredicate.java @@ -79,6 +79,18 @@ public interface FailableIntPredicate<E extends Throwable> { } /** + * Returns a composed {@code FailableIntPredicate} like {@link IntPredicate#and(IntPredicate)}. + * + * @param other a predicate that will be logically-ORed with this predicate. + * @return a composed {@code FailableIntPredicate} like {@link IntPredicate#and(IntPredicate)}. + * @throws NullPointerException if other is null + */ + default FailableIntPredicate<E> or(final FailableIntPredicate<E> other) { + Objects.requireNonNull(other); + return t -> test(t) || other.test(t); + } + + /** * Tests the predicate. * * @param value the parameter for the predicate to accept. diff --git a/src/main/java/org/apache/commons/lang3/function/FailableLongPredicate.java b/src/main/java/org/apache/commons/lang3/function/FailableLongPredicate.java index 154b1dfce..be97ca9b4 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableLongPredicate.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableLongPredicate.java @@ -79,6 +79,18 @@ public interface FailableLongPredicate<E extends Throwable> { } /** + * Returns a composed {@code FailableLongPredicate} like {@link LongPredicate#and(LongPredicate)}. + * + * @param other a predicate that will be logically-ORed with this predicate. + * @return a composed {@code FailableLongPredicate} like {@link LongPredicate#and(LongPredicate)}. + * @throws NullPointerException if other is null + */ + default FailableLongPredicate<E> or(final FailableLongPredicate<E> other) { + Objects.requireNonNull(other); + return t -> test(t) || other.test(t); + } + + /** * Tests the predicate. * * @param value the parameter for the predicate to accept. diff --git a/src/main/java/org/apache/commons/lang3/function/FailablePredicate.java b/src/main/java/org/apache/commons/lang3/function/FailablePredicate.java index 081464a69..d2ecbc565 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailablePredicate.java +++ b/src/main/java/org/apache/commons/lang3/function/FailablePredicate.java @@ -82,6 +82,18 @@ public interface FailablePredicate<T, E extends Throwable> { } /** + * Returns a composed {@code FailablePredicate} like {@link Predicate#and(Predicate)}. + * + * @param other a predicate that will be logically-ORed with this predicate. + * @return a composed {@code FailablePredicate} like {@link Predicate#and(Predicate)}. + * @throws NullPointerException if other is null + */ + default FailablePredicate<T, E> or(final FailablePredicate<? super T, E> other) { + Objects.requireNonNull(other); + return t -> test(t) || other.test(t); + } + + /** * Tests the predicate. * * @param object the object to test the predicate on |