aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/apache/commons/lang3/function
diff options
context:
space:
mode:
authorGary Gregory <garydgregory@gmail.com>2020-06-25 10:52:37 -0400
committerGary Gregory <garydgregory@gmail.com>2020-06-25 10:52:37 -0400
commit268d4936d4136ce35af688617bbd6874b0854f4c (patch)
tree3f61a53930660a4d1131a736ad62788a35901c6a /src/main/java/org/apache/commons/lang3/function
parent180d948d7f0cf73fd9a657ecbcb382b2e9b22cb7 (diff)
downloadapache-commons-lang-268d4936d4136ce35af688617bbd6874b0854f4c.tar.gz
[LANG-1568] Predicate or.
Diffstat (limited to 'src/main/java/org/apache/commons/lang3/function')
-rw-r--r--src/main/java/org/apache/commons/lang3/function/FailableBiPredicate.java12
-rw-r--r--src/main/java/org/apache/commons/lang3/function/FailableDoublePredicate.java12
-rw-r--r--src/main/java/org/apache/commons/lang3/function/FailableIntPredicate.java12
-rw-r--r--src/main/java/org/apache/commons/lang3/function/FailableLongPredicate.java12
-rw-r--r--src/main/java/org/apache/commons/lang3/function/FailablePredicate.java12
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