diff options
author | Gary Gregory <garydgregory@gmail.com> | 2020-06-25 10:29:57 -0400 |
---|---|---|
committer | Gary Gregory <garydgregory@gmail.com> | 2020-06-25 10:29:57 -0400 |
commit | c7d709b22074a4f5f952cc2b71f9053a5a38b138 (patch) | |
tree | b5ff76e5806e5ea3eb39c361fd92b55c10d467fe /src/main/java/org/apache/commons/lang3/function | |
parent | a881c3e22665f65d974063d0536fdfd75f45d0d3 (diff) | |
download | apache-commons-lang-c7d709b22074a4f5f952cc2b71f9053a5a38b138.tar.gz |
[LANG-1568] Predicate negation and clean ups.
Diffstat (limited to 'src/main/java/org/apache/commons/lang3/function')
15 files changed, 46 insertions, 40 deletions
diff --git a/src/main/java/org/apache/commons/lang3/function/FailableBiConsumer.java b/src/main/java/org/apache/commons/lang3/function/FailableBiConsumer.java index 6589a4d78..8bfe6d534 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableBiConsumer.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableBiConsumer.java @@ -62,11 +62,9 @@ public interface FailableBiConsumer<T, U, E extends Throwable> { * @param after the operation to perform after this one. * @return a composed {@code FailableBiConsumer} like {@link BiConsumer#andThen(BiConsumer)}. * @throws NullPointerException when {@code after} is null. - * @throws E Thrown when a consumer fails. */ - default FailableBiConsumer<T, U, E> andThen(final FailableBiConsumer<? super T, ? super U, E> after) throws E { + default FailableBiConsumer<T, U, E> andThen(final FailableBiConsumer<? super T, ? super U, E> after) { Objects.requireNonNull(after); - return (t, u) -> { accept(t, u); after.accept(t, u); diff --git a/src/main/java/org/apache/commons/lang3/function/FailableBiFunction.java b/src/main/java/org/apache/commons/lang3/function/FailableBiFunction.java index f7d633943..23af54fc0 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableBiFunction.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableBiFunction.java @@ -57,10 +57,8 @@ public interface FailableBiFunction<T, U, R, E extends Throwable> { * @param after the operation to perform after this one. * @return a composed {@code FailableBiFunction} that like {@link BiFunction#andThen(Function)}. * @throws NullPointerException when {@code after} is null. - * @throws E Thrown when a consumer fails. */ - default <V> FailableBiFunction<T, U, V, E> andThen(final FailableFunction<? super R, ? extends V, E> after) - throws E { + default <V> FailableBiFunction<T, U, V, E> andThen(final FailableFunction<? super R, ? extends V, E> after) { Objects.requireNonNull(after); return (final T t, final U u) -> after.apply(apply(t, u)); } 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 75936c9e2..56c5028ec 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableBiPredicate.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableBiPredicate.java @@ -17,6 +17,7 @@ package org.apache.commons.lang3.function; +import java.util.Objects; import java.util.function.BiPredicate; /** @@ -63,12 +64,23 @@ 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-ANDed with this predicate. + * @return a composed {@code FailableBiPredicate} like {@link BiPredicate#and(BiPredicate)}. + * @throws NullPointerException if other is null + */ + default FailableBiPredicate<T, U, E> and(FailableBiPredicate<? super T, ? super U, E> other) { + Objects.requireNonNull(other); + return (T t, U u) -> test(t, u) && other.test(t, u); + } + + /** * Returns a predicate that negates this predicate. * * @return a predicate that negates this predicate. - * @throws E Thrown when this predicate fails. */ - default FailableBiPredicate<T, U, E> negate() throws E { + default FailableBiPredicate<T, U, E> negate() { return (final T t, final U u) -> !test(t, u); } diff --git a/src/main/java/org/apache/commons/lang3/function/FailableConsumer.java b/src/main/java/org/apache/commons/lang3/function/FailableConsumer.java index 3df422bf8..aa7a8de69 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableConsumer.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableConsumer.java @@ -59,9 +59,8 @@ public interface FailableConsumer<T, E extends Throwable> { * @param after the operation to perform after this operation * @return a composed {@code Consumer} like {@link Consumer#andThen(Consumer)}. * @throws NullPointerException when {@code after} is null - * @throws E Thrown when a consumer fails. */ - default FailableConsumer<T, E> andThen(final FailableConsumer<? super T, E> after) throws E { + default FailableConsumer<T, E> andThen(final FailableConsumer<? super T, E> after) { Objects.requireNonNull(after); return (final T t) -> { accept(t); diff --git a/src/main/java/org/apache/commons/lang3/function/FailableDoubleConsumer.java b/src/main/java/org/apache/commons/lang3/function/FailableDoubleConsumer.java index 3b3791981..edd71fbcb 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableDoubleConsumer.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableDoubleConsumer.java @@ -57,9 +57,8 @@ public interface FailableDoubleConsumer<E extends Throwable> { * @param after the operation to perform after this one. * @return a composed {@code FailableDoubleConsumer} like {@link DoubleConsumer#andThen(DoubleConsumer)}. * @throws NullPointerException when {@code after} is null. - * @throws E Thrown when a consumer fails. */ - default FailableDoubleConsumer<E> andThen(final FailableDoubleConsumer<E> after) throws E { + default FailableDoubleConsumer<E> andThen(final FailableDoubleConsumer<E> after) { Objects.requireNonNull(after); return (final double t) -> { accept(t); 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 db3fdacdd..0c7def5ae 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableDoublePredicate.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableDoublePredicate.java @@ -17,6 +17,8 @@ package org.apache.commons.lang3.function; +import java.util.Objects; +import java.util.function.BiPredicate; import java.util.function.DoublePredicate; /** @@ -28,6 +30,18 @@ import java.util.function.DoublePredicate; @FunctionalInterface public interface FailableDoublePredicate<E extends Throwable> { + /** + * Returns a composed {@code FailableBiPredicate} like {@link BiPredicate#and(BiPredicate)}. + * + * @param other a predicate that will be logically-ANDed with this predicate. + * @return a composed {@code FailableBiPredicate} like {@link BiPredicate#and(BiPredicate)}. + * @throws NullPointerException if other is null + */ + default FailableDoublePredicate<E> and(FailableDoublePredicate<E> other) { + Objects.requireNonNull(other); + return t -> test(t) && other.test(t); + } + /** FALSE singleton */ @SuppressWarnings("rawtypes") FailableDoublePredicate FALSE = t -> false; @@ -60,9 +74,8 @@ public interface FailableDoublePredicate<E extends Throwable> { * Returns a predicate that negates this predicate. * * @return a predicate that negates this predicate. - * @throws E Thrown when this predicate fails. */ - default FailableDoublePredicate<E> negate() throws E { + default FailableDoublePredicate<E> negate() { return t -> !test(t); } diff --git a/src/main/java/org/apache/commons/lang3/function/FailableDoubleUnaryOperator.java b/src/main/java/org/apache/commons/lang3/function/FailableDoubleUnaryOperator.java index 2674f1d86..9e542fd6e 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableDoubleUnaryOperator.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableDoubleUnaryOperator.java @@ -60,10 +60,9 @@ public interface FailableDoubleUnaryOperator<E extends Throwable> { * @return a composed {@code FailableDoubleUnaryOperator} like * {@link DoubleUnaryOperator#andThen(DoubleUnaryOperator)}. * @throws NullPointerException if after is null. - * @throws E Thrown when a consumer fails. * @see #compose(FailableDoubleUnaryOperator) */ - default FailableDoubleUnaryOperator<E> andThen(final FailableDoubleUnaryOperator<E> after) throws E { + default FailableDoubleUnaryOperator<E> andThen(final FailableDoubleUnaryOperator<E> after) { Objects.requireNonNull(after); return (final double t) -> after.applyAsDouble(applyAsDouble(t)); } @@ -85,10 +84,9 @@ public interface FailableDoubleUnaryOperator<E extends Throwable> { * @return a composed {@code FailableDoubleUnaryOperator} like * {@link DoubleUnaryOperator#compose(DoubleUnaryOperator)}. * @throws NullPointerException if before is null. - * @throws E Thrown when a consumer fails. * @see #andThen(FailableDoubleUnaryOperator) */ - default FailableDoubleUnaryOperator<E> compose(final FailableDoubleUnaryOperator<E> before) throws E { + default FailableDoubleUnaryOperator<E> compose(final FailableDoubleUnaryOperator<E> before) { Objects.requireNonNull(before); return (final double v) -> applyAsDouble(before.applyAsDouble(v)); } diff --git a/src/main/java/org/apache/commons/lang3/function/FailableFunction.java b/src/main/java/org/apache/commons/lang3/function/FailableFunction.java index 49af31c39..715e2650e 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableFunction.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableFunction.java @@ -65,9 +65,8 @@ public interface FailableFunction<T, R, E extends Throwable> { * @return a composed {@code FailableFunction} like {@link Function#andThen(Function)}. * @param after the operation to perform after this one. * @throws NullPointerException when {@code after} is null. - * @throws E Thrown when a consumer fails. */ - default <V> FailableFunction<T, V, E> andThen(final FailableFunction<? super R, ? extends V, E> after) throws E { + default <V> FailableFunction<T, V, E> andThen(final FailableFunction<? super R, ? extends V, E> after) { Objects.requireNonNull(after); return (final T t) -> after.apply(apply(t)); } @@ -88,10 +87,9 @@ public interface FailableFunction<T, R, E extends Throwable> { * @param before the operator to apply before this one. * @return a a composed {@code FailableFunction} like {@link Function#compose(Function)}. * @throws NullPointerException if before is null. - * @throws E Thrown when a consumer fails. * @see #andThen(FailableFunction) */ - default <V> FailableFunction<V, R, E> compose(final FailableFunction<? super V, ? extends T, E> before) throws E { + default <V> FailableFunction<V, R, E> compose(final FailableFunction<? super V, ? extends T, E> before) { Objects.requireNonNull(before); return (final V v) -> apply(before.apply(v)); } diff --git a/src/main/java/org/apache/commons/lang3/function/FailableIntConsumer.java b/src/main/java/org/apache/commons/lang3/function/FailableIntConsumer.java index 64429df00..ee7a15f3a 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableIntConsumer.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableIntConsumer.java @@ -57,9 +57,8 @@ public interface FailableIntConsumer<E extends Throwable> { * @param after the operation to perform after this one. * @return a composed {@code FailableLongConsumer} like {@link IntConsumer#andThen(IntConsumer)}. * @throws NullPointerException if {@code after} is null - * @throws E Thrown when a consumer fails. */ - default FailableIntConsumer<E> andThen(final FailableIntConsumer<E> after) throws E { + default FailableIntConsumer<E> andThen(final FailableIntConsumer<E> after) { Objects.requireNonNull(after); return (final int t) -> { accept(t); 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 12bd5c0cc..babfceb87 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableIntPredicate.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableIntPredicate.java @@ -60,9 +60,8 @@ public interface FailableIntPredicate<E extends Throwable> { * Returns a predicate that negates this predicate. * * @return a predicate that negates this predicate. - * @throws E Thrown when this predicate fails. */ - default FailableIntPredicate<E> negate() throws E { + default FailableIntPredicate<E> negate() { return t -> !test(t); } diff --git a/src/main/java/org/apache/commons/lang3/function/FailableIntUnaryOperator.java b/src/main/java/org/apache/commons/lang3/function/FailableIntUnaryOperator.java index b685885d9..578e5322a 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableIntUnaryOperator.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableIntUnaryOperator.java @@ -58,10 +58,9 @@ public interface FailableIntUnaryOperator<E extends Throwable> { * @param after the operator to apply after this one. * @return a composed {@code FailableIntUnaryOperator} like {@link IntUnaryOperator#andThen(IntUnaryOperator)}. * @throws NullPointerException if after is null. - * @throws E Thrown when a consumer fails. * @see #compose(FailableIntUnaryOperator) */ - default FailableIntUnaryOperator<E> andThen(final FailableIntUnaryOperator<E> after) throws E { + default FailableIntUnaryOperator<E> andThen(final FailableIntUnaryOperator<E> after) { Objects.requireNonNull(after); return (final int t) -> after.applyAsInt(applyAsInt(t)); } @@ -81,10 +80,9 @@ public interface FailableIntUnaryOperator<E extends Throwable> { * @param before the operator to apply before this one. * @return a composed {@code FailableIntUnaryOperator} like {@link IntUnaryOperator#compose(IntUnaryOperator)}. * @throws NullPointerException if before is null. - * @throws E Thrown when a consumer fails. * @see #andThen(FailableIntUnaryOperator) */ - default FailableIntUnaryOperator<E> compose(final FailableIntUnaryOperator<E> before) throws E { + default FailableIntUnaryOperator<E> compose(final FailableIntUnaryOperator<E> before) { Objects.requireNonNull(before); return (final int v) -> applyAsInt(before.applyAsInt(v)); } diff --git a/src/main/java/org/apache/commons/lang3/function/FailableLongConsumer.java b/src/main/java/org/apache/commons/lang3/function/FailableLongConsumer.java index c2a0ca8a5..de5bd4f46 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableLongConsumer.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableLongConsumer.java @@ -57,9 +57,8 @@ public interface FailableLongConsumer<E extends Throwable> { * @param after the operation to perform after this one. * @return a composed {@code FailableLongConsumer} like {@link LongConsumer#andThen(LongConsumer)}. * @throws NullPointerException if {@code after} is null - * @throws E Thrown when a consumer fails. */ - default FailableLongConsumer<E> andThen(final FailableLongConsumer<E> after) throws E { + default FailableLongConsumer<E> andThen(final FailableLongConsumer<E> after) { Objects.requireNonNull(after); return (final long t) -> { accept(t); 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 b267ead67..33714aa31 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableLongPredicate.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableLongPredicate.java @@ -60,9 +60,8 @@ public interface FailableLongPredicate<E extends Throwable> { * Returns a predicate that negates this predicate. * * @return a predicate that negates this predicate. - * @throws E Thrown when this predicate fails. */ - default FailableLongPredicate<E> negate() throws E { + default FailableLongPredicate<E> negate() { return t -> !test(t); } diff --git a/src/main/java/org/apache/commons/lang3/function/FailableLongUnaryOperator.java b/src/main/java/org/apache/commons/lang3/function/FailableLongUnaryOperator.java index 6f980b765..b997eb064 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailableLongUnaryOperator.java +++ b/src/main/java/org/apache/commons/lang3/function/FailableLongUnaryOperator.java @@ -58,10 +58,9 @@ public interface FailableLongUnaryOperator<E extends Throwable> { * @param after the operator to apply after this one. * @return a composed {@code FailableLongUnaryOperator} like {@link LongUnaryOperator#andThen(LongUnaryOperator)}. * @throws NullPointerException if after is null. - * @throws E Thrown when a consumer fails. * @see #compose(FailableLongUnaryOperator) */ - default FailableLongUnaryOperator<E> andThen(final FailableLongUnaryOperator<E> after) throws E { + default FailableLongUnaryOperator<E> andThen(final FailableLongUnaryOperator<E> after) { Objects.requireNonNull(after); return (final long t) -> after.applyAsLong(applyAsLong(t)); } @@ -81,10 +80,9 @@ public interface FailableLongUnaryOperator<E extends Throwable> { * @param before the operator to apply before this one. * @return a composed {@code FailableLongUnaryOperator} like {@link LongUnaryOperator#compose(LongUnaryOperator)}. * @throws NullPointerException if before is null. - * @throws E Thrown when a consumer fails. * @see #andThen(FailableLongUnaryOperator) */ - default FailableLongUnaryOperator<E> compose(final FailableLongUnaryOperator<E> before) throws E { + default FailableLongUnaryOperator<E> compose(final FailableLongUnaryOperator<E> before) { Objects.requireNonNull(before); return (final long v) -> applyAsLong(before.applyAsLong(v)); } 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 ce49539b9..160f2f571 100644 --- a/src/main/java/org/apache/commons/lang3/function/FailablePredicate.java +++ b/src/main/java/org/apache/commons/lang3/function/FailablePredicate.java @@ -63,9 +63,8 @@ public interface FailablePredicate<T, E extends Throwable> { * Returns a predicate that negates this predicate. * * @return a predicate that negates this predicate. - * @throws E Thrown when this predicate fails. */ - default FailablePredicate<T, E> negate() throws E { + default FailablePredicate<T, E> negate() { return t -> !test(t); } |