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

commit febaf104e5cae831db100ae539ffe2c724ca061c
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Wed May 3 07:38:54 2023 -0400

    Use a builder instead of new custom factory method
---
 .../io/output/UncheckedFilterOutputStream.java     | 39 +++++++++++++++++++---
 .../io/output/UncheckedFilterOutputStreamTest.java |  4 +--
 2 files changed, 36 insertions(+), 7 deletions(-)

diff --git 
a/src/main/java/org/apache/commons/io/output/UncheckedFilterOutputStream.java 
b/src/main/java/org/apache/commons/io/output/UncheckedFilterOutputStream.java
index 31dd5ef7..fe7223ac 100644
--- 
a/src/main/java/org/apache/commons/io/output/UncheckedFilterOutputStream.java
+++ 
b/src/main/java/org/apache/commons/io/output/UncheckedFilterOutputStream.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.io.OutputStream;
 import java.io.UncheckedIOException;
 
+import org.apache.commons.io.build.AbstractStreamBuilder;
 import org.apache.commons.io.function.Uncheck;
 
 /**
@@ -35,13 +36,41 @@ import org.apache.commons.io.function.Uncheck;
 public class UncheckedFilterOutputStream extends FilterOutputStream {
 
     /**
-     * Creates a new instance.
+     * Builds a new {@link UncheckedFilterOutputStream} instance.
+     * <p>
+     * Using File IO:
+     * </p>
+     * <pre>{@code
+     * UncheckedFilterOutputStream s = UncheckedFilterOutputStream.builder()
+     *   .setFile(file)
+     *   .get()}
+     * </pre>
+     * <p>
+     * Using NIO Path:
+     * </p>
+     * <pre>{@code
+     * UncheckedFilterOutputStream s = UncheckedFilterOutputStream.builder()
+     *   .setPath(path)
+     *   .get()}
+     * </pre>
+     */
+    public static class Builder extends 
AbstractStreamBuilder<UncheckedFilterOutputStream, Builder> {
+
+        @SuppressWarnings("resource")
+        @Override
+        public UncheckedFilterOutputStream get() throws IOException {
+            return new 
UncheckedFilterOutputStream(getOrigin().getOutputStream());
+        }
+
+    }
+
+    /**
+     * Constructs a new {@link Builder}.
      *
-     * @param outputStream an OutputStream object providing the underlying 
stream.
-     * @return a new UncheckedFilterOutputStream.
+     * @return a new {@link Builder}.
      */
-    public static UncheckedFilterOutputStream on(final OutputStream 
outputStream) {
-        return new UncheckedFilterOutputStream(outputStream);
+    public static Builder builder() {
+        return new Builder();
     }
 
     /**
diff --git 
a/src/test/java/org/apache/commons/io/output/UncheckedFilterOutputStreamTest.java
 
b/src/test/java/org/apache/commons/io/output/UncheckedFilterOutputStreamTest.java
index 4eff6581..9ff19ec2 100644
--- 
a/src/test/java/org/apache/commons/io/output/UncheckedFilterOutputStreamTest.java
+++ 
b/src/test/java/org/apache/commons/io/output/UncheckedFilterOutputStreamTest.java
@@ -42,8 +42,8 @@ public class UncheckedFilterOutputStreamTest {
     @BeforeEach
     public void setUp() throws IOException {
         exception = new IOException("test exception");
-        brokenWriter = UncheckedFilterOutputStream.on(new 
BrokenOutputStream(exception));
-        stringWriter = 
UncheckedFilterOutputStream.on(WriterOutputStream.builder().setWriter(new 
StringWriter()).setCharset(Charset.defaultCharset()).get());
+        brokenWriter = 
UncheckedFilterOutputStream.builder().setOutputStream(new 
BrokenOutputStream(exception)).get();
+        stringWriter = 
UncheckedFilterOutputStream.builder().setOutputStream(WriterOutputStream.builder().setWriter(new
 StringWriter()).setCharset(Charset.defaultCharset()).get()).get();
     }
 
     @Test

Reply via email to