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-lang.git

commit a4fc02f69df6f28f6a52b41d601e3df64fda891c
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Thu Oct 12 09:08:43 2023 -0400

    ConcurrentInitializer extends FailableSupplier<T, ConcurrentException>
---
 .../lang3/concurrent/ConcurrentInitializer.java    | 43 +++++++++-------------
 1 file changed, 18 insertions(+), 25 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/lang3/concurrent/ConcurrentInitializer.java 
b/src/main/java/org/apache/commons/lang3/concurrent/ConcurrentInitializer.java
index d47ccb2ab..8f2d40ee0 100644
--- 
a/src/main/java/org/apache/commons/lang3/concurrent/ConcurrentInitializer.java
+++ 
b/src/main/java/org/apache/commons/lang3/concurrent/ConcurrentInitializer.java
@@ -16,37 +16,30 @@
  */
 package org.apache.commons.lang3.concurrent;
 
+import org.apache.commons.lang3.function.FailableSupplier;
+
 /**
- * Definition of an interface for the thread-safe initialization of objects.
- *
+ * Defines the thread-safe initialization of objects.
+ * <p>
+ * The idea behind this interface is to provide access to an object in a 
thread-safe manner. A {@link ConcurrentInitializer} can be passed to multiple 
threads
+ * which can all access the object produced by the initializer. Through the 
{@link #get()} method the object can be queried.
+ * </p>
+ * <p>
+ * Concrete implementations of this interface will use different strategies 
for the creation of the managed object, e.g. lazy initialization or 
initialization
+ * in a background thread. This is completely transparent to client code, so 
it is possible to change the initialization strategy without affecting clients.
+ * </p>
  * <p>
- * The idea behind this interface is to provide access to an object in a
- * thread-safe manner. A {@link ConcurrentInitializer} can be passed to 
multiple
- * threads which can all access the object produced by the initializer. Through
- * the {@link #get()} method the object can be queried.
+ * An implementation of {@link #get()} returns the fully initialized object 
produced by this {@code
+ * ConcurrentInitializer}. A concrete implementation here returns the results 
of the initialization process. This method may block until results are 
available.
+ * Typically, once created the result object is always the same.
  * </p>
  * <p>
- * Concrete implementations of this interface will use different strategies for
- * the creation of the managed object, e.g. lazy initialization or
- * initialization in a background thread. This is completely transparent to
- * client code, so it is possible to change the initialization strategy without
- * affecting clients.
+ * An implementation throws {@link ConcurrentException} if an error occurred 
during initialization of the object.
  * </p>
  *
  * @since 3.0
- * @param <T> the type of the object managed by this initializer class
+ * @param <T> the type of the object managed by this initializer class.
  */
-public interface ConcurrentInitializer<T> {
-    /**
-     * Returns the fully initialized object produced by this {@code
-     * ConcurrentInitializer}. A concrete implementation here returns the
-     * results of the initialization process. This method may block until
-     * results are available. Typically, once created the result object is
-     * always the same.
-     *
-     * @return the object created by this {@link ConcurrentException}
-     * @throws ConcurrentException if an error occurred during initialization 
of
-     * the object
-     */
-    T get() throws ConcurrentException;
+public interface ConcurrentInitializer<T> extends FailableSupplier<T, 
ConcurrentException> {
+    // empty
 }

Reply via email to