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


The following commit(s) were added to refs/heads/master by this push:
     new b9c7da0a8 Add Streams.failableStream(T), non-varargs variant
b9c7da0a8 is described below

commit b9c7da0a8ccff15ef78f906c11590d9e983fcbd6
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Fri Mar 29 11:45:08 2024 -0400

    Add Streams.failableStream(T), non-varargs variant
---
 src/changes/changes.xml                                      |  1 +
 src/main/java/org/apache/commons/lang3/stream/Streams.java   | 12 ++++++++++++
 .../org/apache/commons/lang3/stream/FailableStreamTest.java  |  4 ++++
 3 files changed, 17 insertions(+)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index efed426b7..9fa424dc6 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -53,6 +53,7 @@ The <action> type attribute can be add,update,fix,remove.
     <action issue="LANG-1724" type="add" dev="ggregory" due-to="Gary 
Gregory">Add ReflectionDiffBuilder.Builder.</action>
     <action issue="LANG-1724" type="add" dev="ggregory" due-to="Gary 
Gregory">Add ReflectionDiffBuilder.builder().</action>
     <action issue="LANG-1702" type="add" dev="ggregory" due-to="Elliotte Rusty 
Harold">Add test in TypeUtilsTest #1151.</action>
+    <action issue="LANG-1724" type="add" dev="ggregory" due-to="Gary 
Gregory">Add Streams.failableStream(T), non-varargs variant.</action>
     <!-- FIX -->
     <action                   type="fix" dev="ggregory" due-to="Miklós Karakó, 
Gary Gregory">Improve Javadoc in ExceptionUtils #1136.</action>
     <action                   type="fix" dev="ggregory" due-to="Saiharshith 
Karuneegar Ramesh, Gary Gregory">Fixed two non-deterministic tests in 
EnumUtilsTest.java #1131.</action>
diff --git a/src/main/java/org/apache/commons/lang3/stream/Streams.java 
b/src/main/java/org/apache/commons/lang3/stream/Streams.java
index 97f8321ca..d5399c542 100644
--- a/src/main/java/org/apache/commons/lang3/stream/Streams.java
+++ b/src/main/java/org/apache/commons/lang3/stream/Streams.java
@@ -579,6 +579,18 @@ public class Streams {
         return new FailableStream<>(stream);
     }
 
+    /**
+     * Shorthand for {@code Streams.failableStream(value == null ? 
Stream.empty() : Stream.of(value))}.
+     *
+     * @param <T> the type of stream elements.
+     * @param value the single element of the new stream, may be {@code null}.
+     * @return the new FailableStream on {@code value} or an empty stream.
+     * @since 3.15.0
+     */
+    public static <T> FailableStream<T> failableStream(final T value) {
+        return failableStream(value == null ? Stream.empty() : 
Stream.of(value));
+    }
+
     /**
      * Shorthand for {@code Streams.failableStream(Streams.of(arrayValues))}.
      *
diff --git 
a/src/test/java/org/apache/commons/lang3/stream/FailableStreamTest.java 
b/src/test/java/org/apache/commons/lang3/stream/FailableStreamTest.java
index 6944bda73..d15714cdc 100644
--- a/src/test/java/org/apache/commons/lang3/stream/FailableStreamTest.java
+++ b/src/test/java/org/apache/commons/lang3/stream/FailableStreamTest.java
@@ -60,6 +60,10 @@ public class FailableStreamTest {
         return 
Streams.failableStream(strings).map(this::failable).collect(Collectors.toList()).toArray(new
 String[0]);
     }
 
+    private String[] toArray(final String string) {
+        return 
Streams.failableStream(string).map(this::failable).collect(Collectors.toList()).toArray(new
 String[0]);
+    }
+
     private String[] toArray(final String... strings) {
         return 
Streams.failableStream(strings).map(this::failable).collect(Collectors.toList()).toArray(new
 String[0]);
     }

Reply via email to