From d596027a775cf669f0f427f074b1c073684f5947 Mon Sep 17 00:00:00 2001 From: BHARAT SAVANI Date: Thu, 9 Feb 2017 22:17:21 -0800 Subject: [PATCH] @FunctionalInterface for SAM types --- src/main/java/org/apache/commons/collections4/Closure.java | 1 + .../org/apache/commons/collections4/ComparatorUtils.java | 1 + src/main/java/org/apache/commons/collections4/Factory.java | 1 + .../java/org/apache/commons/collections4/Predicate.java | 1 + .../java/org/apache/commons/collections4/Transformer.java | 1 + .../commons/collections4/functors/PredicateDecorator.java | 7 +++++++ .../commons/collections4/sequence/ReplacementsHandler.java | 1 + 7 files changed, 13 insertions(+) diff --git a/src/main/java/org/apache/commons/collections4/Closure.java b/src/main/java/org/apache/commons/collections4/Closure.java index ff1de7574a..2f36275ae1 100644 --- a/src/main/java/org/apache/commons/collections4/Closure.java +++ b/src/main/java/org/apache/commons/collections4/Closure.java @@ -29,6 +29,7 @@ * @since 1.0 * @version $Id$ */ +@FunctionalInterface public interface Closure { /** diff --git a/src/main/java/org/apache/commons/collections4/ComparatorUtils.java b/src/main/java/org/apache/commons/collections4/ComparatorUtils.java index e17a3d837e..e13305d622 100644 --- a/src/main/java/org/apache/commons/collections4/ComparatorUtils.java +++ b/src/main/java/org/apache/commons/collections4/ComparatorUtils.java @@ -169,6 +169,7 @@ public static Comparator nullHighComparator(Comparator comparator) { if (comparator == null) { comparator = NATURAL_COMPARATOR; } +// return Comparator.nullsFirst(comparator); return new NullComparator(comparator, true); } diff --git a/src/main/java/org/apache/commons/collections4/Factory.java b/src/main/java/org/apache/commons/collections4/Factory.java index 163bced208..66254782b1 100644 --- a/src/main/java/org/apache/commons/collections4/Factory.java +++ b/src/main/java/org/apache/commons/collections4/Factory.java @@ -31,6 +31,7 @@ * @since 2.1 * @version $Id$ */ +@FunctionalInterface public interface Factory { /** diff --git a/src/main/java/org/apache/commons/collections4/Predicate.java b/src/main/java/org/apache/commons/collections4/Predicate.java index 8d9b272d29..d9fbcb17ea 100644 --- a/src/main/java/org/apache/commons/collections4/Predicate.java +++ b/src/main/java/org/apache/commons/collections4/Predicate.java @@ -33,6 +33,7 @@ * @since 1.0 * @version $Id$ */ +@FunctionalInterface public interface Predicate { /** diff --git a/src/main/java/org/apache/commons/collections4/Transformer.java b/src/main/java/org/apache/commons/collections4/Transformer.java index 6068ba7ef4..ffa7a8305b 100644 --- a/src/main/java/org/apache/commons/collections4/Transformer.java +++ b/src/main/java/org/apache/commons/collections4/Transformer.java @@ -35,6 +35,7 @@ * @since 1.0 * @version $Id$ */ +@FunctionalInterface public interface Transformer { /** diff --git a/src/main/java/org/apache/commons/collections4/functors/PredicateDecorator.java b/src/main/java/org/apache/commons/collections4/functors/PredicateDecorator.java index ed03973654..14349784eb 100644 --- a/src/main/java/org/apache/commons/collections4/functors/PredicateDecorator.java +++ b/src/main/java/org/apache/commons/collections4/functors/PredicateDecorator.java @@ -16,6 +16,9 @@ */ package org.apache.commons.collections4.functors; +import java.util.Arrays; +import java.util.stream.Stream; + import org.apache.commons.collections4.Predicate; /** @@ -38,4 +41,8 @@ public interface PredicateDecorator extends Predicate { */ Predicate[] getPredicates(); + default Stream> stream() { + return Arrays.stream(getPredicates()); + } + } diff --git a/src/main/java/org/apache/commons/collections4/sequence/ReplacementsHandler.java b/src/main/java/org/apache/commons/collections4/sequence/ReplacementsHandler.java index 12cd05ff6b..0b8296a7a6 100644 --- a/src/main/java/org/apache/commons/collections4/sequence/ReplacementsHandler.java +++ b/src/main/java/org/apache/commons/collections4/sequence/ReplacementsHandler.java @@ -25,6 +25,7 @@ * @since 4.0 * @version $Id$ */ +@FunctionalInterface public interface ReplacementsHandler { /**