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 e5c3d7ec1215c2ae6a3b28fb83fbb98ac922fbdf Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Sun Apr 28 09:30:31 2024 -0400 Deprecate Factory in favor of java.util.function.Supplier --- src/changes/changes.xml | 1 + src/main/java/org/apache/commons/collections4/Factory.java | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/changes/changes.xml b/src/changes/changes.xml index d8d628ff5..3057795e1 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -27,6 +27,7 @@ <action issue="COLLECTIONS-852" type="update" dev="ggregory" due-to="Claude Warren, Alex Herbert">Add layerd bloom filter clean method #476.</action> <!-- FIX --> <action type="update" dev="ggregory" due-to="Gary Gregory">Deprecate Closure in favor of java.util.function.Consumer.</action> + <action type="update" dev="ggregory" due-to="Gary Gregory">Deprecate Factory in favor of java.util.function.Supplier.</action> <!-- UPDATE --> <action type="update" dev="ggregory" due-to="Dependabot">Bump org.apache.commons:commons-parent from 67 to 69 #473.</action> <action type="update" dev="ggregory" due-to="Dependabot">Bump tests commons-io:commons-io from 2.16.0 to 2.16.1 #475 .</action> diff --git a/src/main/java/org/apache/commons/collections4/Factory.java b/src/main/java/org/apache/commons/collections4/Factory.java index 38f6fa78f..527e31c24 100644 --- a/src/main/java/org/apache/commons/collections4/Factory.java +++ b/src/main/java/org/apache/commons/collections4/Factory.java @@ -16,6 +16,8 @@ */ package org.apache.commons.collections4; +import java.util.function.Supplier; + /** * Defines a functor interface implemented by classes that create objects. * <p> @@ -31,9 +33,10 @@ package org.apache.commons.collections4; * @param <T> the type that the factory creates * * @since 2.1 + * @deprecated Use {@link Supplier}. */ -@FunctionalInterface -public interface Factory<T> { +@Deprecated +public interface Factory<T> extends Supplier<T> { /** * Create a new object. @@ -43,4 +46,9 @@ public interface Factory<T> { */ T create(); + @Override + default T get() { + return create(); + } + }