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 <[email protected]>
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]);
}