This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-collections.git

commit d5dd6e446864022acf7d65970ae16beb272d8fd8
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Wed Jul 10 09:11:34 2024 -0400

    Migrate toward java.util.function.Predicate
    
    Maintains binary and source compatibility
---
 .../collections4/functors/AbstractPredicate.java   | 33 ++++++++++++++++++++++
 .../collections4/functors/ComparatorPredicate.java |  4 +--
 .../collections4/functors/EqualPredicate.java      |  4 +--
 .../collections4/functors/ExceptionPredicate.java  |  4 +--
 .../collections4/functors/FalsePredicate.java      |  4 +--
 .../collections4/functors/IdentityPredicate.java   |  4 +--
 .../collections4/functors/InstanceofPredicate.java |  4 +--
 .../collections4/functors/NotNullPredicate.java    |  4 +--
 .../collections4/functors/NullPredicate.java       |  4 +--
 .../functors/TransformerPredicate.java             |  4 +--
 .../collections4/functors/TruePredicate.java       |  4 +--
 .../collections4/functors/UniquePredicate.java     |  4 +--
 12 files changed, 55 insertions(+), 22 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/collections4/functors/AbstractPredicate.java 
b/src/main/java/org/apache/commons/collections4/functors/AbstractPredicate.java
new file mode 100644
index 000000000..572ef16f5
--- /dev/null
+++ 
b/src/main/java/org/apache/commons/collections4/functors/AbstractPredicate.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.collections4.functors;
+
+import org.apache.commons.collections4.Predicate;
+
+/**
+ * Abstract base class for predicates.
+ *
+ * @param <T> the type of the input to the predicate.
+ * @since 4.5.0
+ */
+public abstract class AbstractPredicate<T> implements Predicate<T> {
+
+    @Override
+    public boolean evaluate(final T object) {
+        return test(object);
+    }
+}
diff --git 
a/src/main/java/org/apache/commons/collections4/functors/ComparatorPredicate.java
 
b/src/main/java/org/apache/commons/collections4/functors/ComparatorPredicate.java
index 265a967fa..0efc3bebf 100644
--- 
a/src/main/java/org/apache/commons/collections4/functors/ComparatorPredicate.java
+++ 
b/src/main/java/org/apache/commons/collections4/functors/ComparatorPredicate.java
@@ -77,7 +77,7 @@ import org.apache.commons.collections4.Predicate;
  * @param <T> the type of the input to the predicate.
  * @since 4.0
  */
-public class ComparatorPredicate<T> implements Predicate<T>, Serializable {
+public class ComparatorPredicate<T> extends AbstractPredicate<T> implements 
Serializable {
 
     public enum Criterion {
         EQUAL, GREATER, LESS, GREATER_OR_EQUAL, LESS_OR_EQUAL,
@@ -158,7 +158,7 @@ public class ComparatorPredicate<T> implements 
Predicate<T>, Serializable {
      * @throws IllegalStateException if the criterion is invalid (really not 
possible)
      */
     @Override
-    public boolean evaluate(final T target) {
+    public boolean test(final T target) {
 
         boolean result = false;
         final int comparison = comparator.compare(object, target);
diff --git 
a/src/main/java/org/apache/commons/collections4/functors/EqualPredicate.java 
b/src/main/java/org/apache/commons/collections4/functors/EqualPredicate.java
index 260398a29..827fde15b 100644
--- a/src/main/java/org/apache/commons/collections4/functors/EqualPredicate.java
+++ b/src/main/java/org/apache/commons/collections4/functors/EqualPredicate.java
@@ -28,7 +28,7 @@ import org.apache.commons.collections4.Predicate;
  * @param <T> the type of the input to the predicate.
  * @since 3.0
  */
-public final class EqualPredicate<T> implements Predicate<T>, Serializable {
+public final class EqualPredicate<T> extends AbstractPredicate<T> implements 
Serializable {
 
     /** Serial version UID */
     private static final long serialVersionUID = 5633766978029907089L;
@@ -101,7 +101,7 @@ public final class EqualPredicate<T> implements 
Predicate<T>, Serializable {
      * @return true if input object equals stored value
      */
     @Override
-    public boolean evaluate(final T object) {
+    public boolean test(final T object) {
         if (equator != null) {
             return equator.equate(iValue, object);
         }
diff --git 
a/src/main/java/org/apache/commons/collections4/functors/ExceptionPredicate.java
 
b/src/main/java/org/apache/commons/collections4/functors/ExceptionPredicate.java
index bf46f60ea..e58ec9af5 100644
--- 
a/src/main/java/org/apache/commons/collections4/functors/ExceptionPredicate.java
+++ 
b/src/main/java/org/apache/commons/collections4/functors/ExceptionPredicate.java
@@ -27,7 +27,7 @@ import org.apache.commons.collections4.Predicate;
  * @param <T> the type of the input to the predicate.
  * @since 3.0
  */
-public final class ExceptionPredicate<T> implements Predicate<T>, Serializable 
{
+public final class ExceptionPredicate<T> extends AbstractPredicate<T> 
implements Serializable {
 
     /** Serial version UID */
     private static final long serialVersionUID = 7179106032121985545L;
@@ -61,7 +61,7 @@ public final class ExceptionPredicate<T> implements 
Predicate<T>, Serializable {
      * @throws FunctorException always
      */
     @Override
-    public boolean evaluate(final T object) {
+    public boolean test(final T object) {
         throw new FunctorException("ExceptionPredicate invoked");
     }
 
diff --git 
a/src/main/java/org/apache/commons/collections4/functors/FalsePredicate.java 
b/src/main/java/org/apache/commons/collections4/functors/FalsePredicate.java
index 184234c6b..e5896c73d 100644
--- a/src/main/java/org/apache/commons/collections4/functors/FalsePredicate.java
+++ b/src/main/java/org/apache/commons/collections4/functors/FalsePredicate.java
@@ -26,7 +26,7 @@ import org.apache.commons.collections4.Predicate;
  * @param <T> the type of the input to the predicate.
  * @since 3.0
  */
-public final class FalsePredicate<T> implements Predicate<T>, Serializable {
+public final class FalsePredicate<T> extends AbstractPredicate<T> implements 
Serializable {
 
     /** Serial version UID */
     private static final long serialVersionUID = 7533784454832764388L;
@@ -59,7 +59,7 @@ public final class FalsePredicate<T> implements Predicate<T>, 
Serializable {
      * @return false always
      */
     @Override
-    public boolean evaluate(final T object) {
+    public boolean test(final T object) {
         return false;
     }
 
diff --git 
a/src/main/java/org/apache/commons/collections4/functors/IdentityPredicate.java 
b/src/main/java/org/apache/commons/collections4/functors/IdentityPredicate.java
index 74ef13ad7..f58cd65d7 100644
--- 
a/src/main/java/org/apache/commons/collections4/functors/IdentityPredicate.java
+++ 
b/src/main/java/org/apache/commons/collections4/functors/IdentityPredicate.java
@@ -27,7 +27,7 @@ import org.apache.commons.collections4.Predicate;
  * @param <T> the type of the input to the predicate.
  * @since 3.0
  */
-public final class IdentityPredicate<T> implements Predicate<T>, Serializable {
+public final class IdentityPredicate<T> extends AbstractPredicate<T> 
implements Serializable {
 
     /** Serial version UID */
     private static final long serialVersionUID = -89901658494523293L;
@@ -67,7 +67,7 @@ public final class IdentityPredicate<T> implements 
Predicate<T>, Serializable {
      * @return true if input is the same object as the stored value
      */
     @Override
-    public boolean evaluate(final T object) {
+    public boolean test(final T object) {
         return iValue == object;
     }
 
diff --git 
a/src/main/java/org/apache/commons/collections4/functors/InstanceofPredicate.java
 
b/src/main/java/org/apache/commons/collections4/functors/InstanceofPredicate.java
index 6cc591582..149d7d4b9 100644
--- 
a/src/main/java/org/apache/commons/collections4/functors/InstanceofPredicate.java
+++ 
b/src/main/java/org/apache/commons/collections4/functors/InstanceofPredicate.java
@@ -27,7 +27,7 @@ import org.apache.commons.collections4.Predicate;
  *
  * @since 3.0
  */
-public final class InstanceofPredicate implements Predicate<Object>, 
Serializable {
+public final class InstanceofPredicate extends AbstractPredicate<Object> 
implements Serializable {
 
     /** Serial version UID */
     private static final long serialVersionUID = -6682656911025165584L;
@@ -63,7 +63,7 @@ public final class InstanceofPredicate implements 
Predicate<Object>, Serializabl
      * @return true if input is of stored type
      */
     @Override
-    public boolean evaluate(final Object object) {
+    public boolean test(final Object object) {
         return iType.isInstance(object);
     }
 
diff --git 
a/src/main/java/org/apache/commons/collections4/functors/NotNullPredicate.java 
b/src/main/java/org/apache/commons/collections4/functors/NotNullPredicate.java
index 6913cfdb4..d2dc9e2f6 100644
--- 
a/src/main/java/org/apache/commons/collections4/functors/NotNullPredicate.java
+++ 
b/src/main/java/org/apache/commons/collections4/functors/NotNullPredicate.java
@@ -26,7 +26,7 @@ import org.apache.commons.collections4.Predicate;
  * @param <T> the type of the input to the predicate.
  * @since 3.0
  */
-public final class NotNullPredicate<T> implements Predicate<T>, Serializable {
+public final class NotNullPredicate<T> extends AbstractPredicate<T> implements 
Serializable {
 
     /** Serial version UID */
     private static final long serialVersionUID = 7533784454832764388L;
@@ -59,7 +59,7 @@ public final class NotNullPredicate<T> implements 
Predicate<T>, Serializable {
      * @return true if not null
      */
     @Override
-    public boolean evaluate(final T object) {
+    public boolean test(final T object) {
         return object != null;
     }
 
diff --git 
a/src/main/java/org/apache/commons/collections4/functors/NullPredicate.java 
b/src/main/java/org/apache/commons/collections4/functors/NullPredicate.java
index 93820fc54..645fd811b 100644
--- a/src/main/java/org/apache/commons/collections4/functors/NullPredicate.java
+++ b/src/main/java/org/apache/commons/collections4/functors/NullPredicate.java
@@ -26,7 +26,7 @@ import org.apache.commons.collections4.Predicate;
  * @param <T> the type of the input to the predicate.
  * @since 3.0
  */
-public final class NullPredicate<T> implements Predicate<T>, Serializable {
+public final class NullPredicate<T> extends AbstractPredicate<T> implements 
Serializable {
 
     /** Serial version UID */
     private static final long serialVersionUID = 7533784454832764388L;
@@ -59,7 +59,7 @@ public final class NullPredicate<T> implements Predicate<T>, 
Serializable {
      * @return true if input is null
      */
     @Override
-    public boolean evaluate(final T object) {
+    public boolean test(final T object) {
         return object == null;
     }
 
diff --git 
a/src/main/java/org/apache/commons/collections4/functors/TransformerPredicate.java
 
b/src/main/java/org/apache/commons/collections4/functors/TransformerPredicate.java
index 80d61934b..ff5c796d9 100644
--- 
a/src/main/java/org/apache/commons/collections4/functors/TransformerPredicate.java
+++ 
b/src/main/java/org/apache/commons/collections4/functors/TransformerPredicate.java
@@ -29,7 +29,7 @@ import org.apache.commons.collections4.Transformer;
  * @param <T> the type of the input to the predicate.
  * @since 3.0
  */
-public final class TransformerPredicate<T> implements Predicate<T>, 
Serializable {
+public final class TransformerPredicate<T> extends AbstractPredicate<T> 
implements Serializable {
 
     /** Serial version UID */
     private static final long serialVersionUID = -2407966402920578741L;
@@ -67,7 +67,7 @@ public final class TransformerPredicate<T> implements 
Predicate<T>, Serializable
      * @throws FunctorException if the transformer returns an invalid type
      */
     @Override
-    public boolean evaluate(final T object) {
+    public boolean test(final T object) {
         final Boolean result = iTransformer.transform(object);
         if (result == null) {
             throw new FunctorException(
diff --git 
a/src/main/java/org/apache/commons/collections4/functors/TruePredicate.java 
b/src/main/java/org/apache/commons/collections4/functors/TruePredicate.java
index ef1dd6a94..d2c3cdfa4 100644
--- a/src/main/java/org/apache/commons/collections4/functors/TruePredicate.java
+++ b/src/main/java/org/apache/commons/collections4/functors/TruePredicate.java
@@ -26,7 +26,7 @@ import org.apache.commons.collections4.Predicate;
  * @param <T> the type of the input to the predicate.
  * @since 3.0
  */
-public final class TruePredicate<T> implements Predicate<T>, Serializable {
+public final class TruePredicate<T> extends AbstractPredicate<T> implements 
Serializable {
 
     /** Serial version UID */
     private static final long serialVersionUID = 3374767158756189740L;
@@ -59,7 +59,7 @@ public final class TruePredicate<T> implements Predicate<T>, 
Serializable {
      * @return true always
      */
     @Override
-    public boolean evaluate(final T object) {
+    public boolean test(final T object) {
         return true;
     }
 
diff --git 
a/src/main/java/org/apache/commons/collections4/functors/UniquePredicate.java 
b/src/main/java/org/apache/commons/collections4/functors/UniquePredicate.java
index a8b348914..a91f4537e 100644
--- 
a/src/main/java/org/apache/commons/collections4/functors/UniquePredicate.java
+++ 
b/src/main/java/org/apache/commons/collections4/functors/UniquePredicate.java
@@ -29,7 +29,7 @@ import org.apache.commons.collections4.Predicate;
  * @param <T> the type of the input to the predicate.
  * @since 3.0
  */
-public final class UniquePredicate<T> implements Predicate<T>, Serializable {
+public final class UniquePredicate<T>  extends AbstractPredicate<T> implements 
Serializable {
 
     /** Serial version UID */
     private static final long serialVersionUID = -3319417438027438040L;
@@ -63,7 +63,7 @@ public final class UniquePredicate<T> implements 
Predicate<T>, Serializable {
      * @return true if this is the first time the object is seen
      */
     @Override
-    public boolean evaluate(final T object) {
+    public boolean test(final T object) {
         return iSet.add(object);
     }
 

Reply via email to