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()) {