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


The following commit(s) were added to refs/heads/master by this push:
     new 57268929 Add BaseNCodecInputStream.AbstracBuilder.setByteArray(byte[])
57268929 is described below

commit 5726892907130c2ac49020cb7be71d9ee0038cca
Author: Gary Gregory <[email protected]>
AuthorDate: Sat Feb 7 09:04:49 2026 -0500

    Add BaseNCodecInputStream.AbstracBuilder.setByteArray(byte[])
---
 src/changes/changes.xml                                  |  1 +
 .../commons/codec/binary/BaseNCodecInputStream.java      | 12 ++++++++++++
 .../commons/codec/binary/Base16InputStreamTest.java      |  4 ++--
 .../commons/codec/binary/Base32InputStreamTest.java      |  2 +-
 .../commons/codec/binary/Base58InputStreamTest.java      | 16 ++++++----------
 .../commons/codec/binary/Base64InputStreamTest.java      |  2 +-
 6 files changed, 23 insertions(+), 14 deletions(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 8cd1cbe1..b4325af1 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -47,6 +47,7 @@ The <action> type attribute can be add,update,fix,remove.
       <!-- FIX -->
       <!-- ADD -->
       <action type="add" dev="ggregory" due-to="Inkeet, Gary Gregory, Wolff 
Bock von Wuelfingen" issue="CODEC-326">Add Base58 support.</action>
+      <action type="add" dev="ggregory" due-to="Gary Gregory">Add 
BaseNCodecInputStream.AbstracBuilder.setByteArray(byte[]).</action>
       <!-- UPDATE -->
     </release>
     <release version="1.21.0" date="2026-01-23" description="This is a feature 
and maintenance release. Java 8 or later is required.">
diff --git 
a/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java 
b/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java
index 77d1c07e..2b10a9cc 100644
--- a/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java
+++ b/src/main/java/org/apache/commons/codec/binary/BaseNCodecInputStream.java
@@ -19,6 +19,7 @@ package org.apache.commons.codec.binary;
 
 import static org.apache.commons.codec.binary.BaseNCodec.EOF;
 
+import java.io.ByteArrayInputStream;
 import java.io.FilterInputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -69,6 +70,17 @@ public class BaseNCodecInputStream<C extends BaseNCodec, T 
extends BaseNCodecInp
             return inputStream;
         }
 
+        /**
+         * Sets the input bytes.
+         *
+         * @param inputBytes the input bytes.
+         * @return {@code this} instance.
+         * @since 1.22.0
+         */
+        public B setByteArray(final byte[] inputBytes) {
+            return setInputStream(inputBytes == null ? null : new 
ByteArrayInputStream(inputBytes));
+        }
+
         /**
          * Sets the input stream.
          *
diff --git 
a/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java 
b/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java
index ee727607..b431d62a 100644
--- a/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java
+++ b/src/test/java/org/apache/commons/codec/binary/Base16InputStreamTest.java
@@ -224,7 +224,7 @@ class Base16InputStreamTest {
             assertArrayEquals(encoded, output, "Streaming Base16 encode");
         }
         try (InputStream in = Base16InputStream.builder()
-                .setInputStream(new ByteArrayInputStream(decoded))
+                .setByteArray(decoded)
                 
.setEncode(true).setBaseNCodec(Base16.builder().setLowerCase(lowerCase).get())
                 .get()) {
             final byte[] output = new byte[encoded.length];
@@ -403,7 +403,7 @@ class Base16InputStreamTest {
             assertThrows(IllegalArgumentException.class, () -> 
b16Stream.skip(-10));
         }
         // Same with a builder
-        try (Base16InputStream b16Stream = 
Base16InputStream.builder().setInputStream(ins).get()) {
+        try (Base16InputStream b16Stream = 
Base16InputStream.builder().setByteArray(StringUtils.getBytesIso8859_1(ENCODED_B16)).get())
 {
             assertThrows(IllegalArgumentException.class, () -> 
b16Stream.skip(-10));
         }
     }
diff --git 
a/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java 
b/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java
index 4c4506b4..c1c02589 100644
--- a/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java
+++ b/src/test/java/org/apache/commons/codec/binary/Base32InputStreamTest.java
@@ -555,7 +555,7 @@ class Base32InputStreamTest {
             assertThrows(IllegalArgumentException.class, () -> 
BaseNTestData.streamToBytes(in2));
             // Same with a builder
             try (Base32InputStream in3 = Base32InputStream.builder()
-                    .setInputStream(new ByteArrayInputStream(encoded))
+                    .setByteArray(encoded)
                     .setEncode(false)
                     
.setBaseNCodec(Base32.builder().setLineLength(0).setLineSeparator(null).setDecodingPolicy(CodecPolicy.STRICT).get())
                     .get()) {
diff --git 
a/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java 
b/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java
index 4f730450..fef0e3e7 100644
--- a/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java
+++ b/src/test/java/org/apache/commons/codec/binary/Base58InputStreamTest.java
@@ -131,7 +131,7 @@ class Base58InputStreamTest {
      * @throws Exception Usually signifies a bug in the Base58 commons-codec 
implementation.
      */
     private void testByChunk(final byte[] encoded, final byte[] decoded, final 
int chunkSize, final byte[] separator) throws Exception {
-        try (InputStream in = Base58InputStream.builder().setInputStream(new 
ByteArrayInputStream(decoded)).setEncode(true).get()) {
+        try (InputStream in = 
Base58InputStream.builder().setByteArray(decoded).setEncode(true).get()) {
             final byte[] output = BaseNTestData.streamToBytes(in);
             assertEquals(-1, in.read(), "EOF");
             assertEquals(-1, in.read(), "Still EOF");
@@ -169,7 +169,7 @@ class Base58InputStreamTest {
      */
     private void testByteByByte(final byte[] encoded, final byte[] decoded, 
final int chunkSize, final byte[] separator) throws Exception {
         InputStream in;
-        in = Base58InputStream.builder().setInputStream(new 
ByteArrayInputStream(decoded)).setEncode(true).get();
+        in = 
Base58InputStream.builder().setByteArray(decoded).setEncode(true).get();
         byte[] output = BaseNTestData.streamToBytes(in);
         assertEquals(-1, in.read(), "EOF");
         assertEquals(-1, in.read(), "Still EOF");
@@ -200,8 +200,7 @@ class Base58InputStreamTest {
     @Test
     void testMarkSupported() throws Exception {
         final byte[] decoded = StringUtils.getBytesUtf8(STRING_FIXTURE);
-        final ByteArrayInputStream bin = new ByteArrayInputStream(decoded);
-        try (Base58InputStream in = 
Base58InputStream.builder().setInputStream(bin).setEncode(true).get()) {
+        try (Base58InputStream in = 
Base58InputStream.builder().setByteArray(decoded).setEncode(true).get()) {
             // Always returns false for now.
             assertFalse(in.markSupported(), "Base58InputStream.markSupported() 
is false");
         }
@@ -217,8 +216,7 @@ class Base58InputStreamTest {
         final byte[] decoded = StringUtils.getBytesUtf8(STRING_FIXTURE);
         final byte[] buf = new byte[1024];
         int bytesRead = 0;
-        final ByteArrayInputStream bin = new ByteArrayInputStream(decoded);
-        try (Base58InputStream in = 
Base58InputStream.builder().setInputStream(bin).setEncode(true).get()) {
+        try (Base58InputStream in = 
Base58InputStream.builder().setByteArray(decoded).setEncode(true).get()) {
             bytesRead = in.read(buf, 0, 0);
             assertEquals(0, bytesRead, "Base58InputStream.read(buf, 0, 0) 
returns 0");
         }
@@ -232,8 +230,7 @@ class Base58InputStreamTest {
     @Test
     void testReadNull() throws Exception {
         final byte[] decoded = StringUtils.getBytesUtf8(STRING_FIXTURE);
-        final ByteArrayInputStream bin = new ByteArrayInputStream(decoded);
-        try (Base58InputStream in = 
Base58InputStream.builder().setInputStream(bin).setEncode(true).get()) {
+        try (Base58InputStream in = 
Base58InputStream.builder().setByteArray(decoded).setEncode(true).get()) {
             assertThrows(NullPointerException.class, () -> in.read(null, 0, 
0));
         }
     }
@@ -247,8 +244,7 @@ class Base58InputStreamTest {
     void testReadOutOfBounds() throws Exception {
         final byte[] decoded = StringUtils.getBytesUtf8(STRING_FIXTURE);
         final byte[] buf = new byte[1024];
-        final ByteArrayInputStream bin = new ByteArrayInputStream(decoded);
-        try (Base58InputStream in = 
Base58InputStream.builder().setInputStream(bin).setEncode(true).get()) {
+        try (Base58InputStream in = 
Base58InputStream.builder().setByteArray(decoded).setEncode(true).get()) {
             assertThrows(IndexOutOfBoundsException.class, () -> in.read(buf, 
-1, 0), "Base58InputStream.read(buf, -1, 0)");
             assertThrows(IndexOutOfBoundsException.class, () -> in.read(buf, 
0, -1), "Base58InputStream.read(buf, 0, -1)");
             assertThrows(IndexOutOfBoundsException.class, () -> in.read(buf, 
buf.length + 1, 0), "Base58InputStream.read(buf, buf.length + 1, 0)");
diff --git 
a/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java 
b/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java
index 30f6843a..7698f8ec 100644
--- a/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java
+++ b/src/test/java/org/apache/commons/codec/binary/Base64InputStreamTest.java
@@ -587,7 +587,7 @@ class Base64InputStreamTest {
             assertThrows(IllegalArgumentException.class, () -> 
BaseNTestData.streamToBytes(in2));
             // Same with a builder
             try (Base64InputStream in3 = Base64InputStream.builder()
-                    .setInputStream(new ByteArrayInputStream(encoded))
+                    .setByteArray(encoded)
                     .setEncode(false)
                     
.setBaseNCodec(Base64.builder().setLineLength(0).setLineSeparator(null).setDecodingPolicy(CodecPolicy.STRICT).get())
                     .get()) {

Reply via email to