Skip to content

Commit 3ec3fd0

Browse files
committed
Don't expose mutable arrays unnecessarily
1 parent cacdb00 commit 3ec3fd0

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

src/main/java/org/apache/commons/io/input/BOMInputStream.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public class BOMInputStream extends ProxyInputStream {
107107
*/
108108
public static class Builder extends AbstractStreamBuilder<BOMInputStream, Builder> {
109109

110-
static final ByteOrderMark[] DEFAULT = { ByteOrderMark.UTF_8 };
110+
private static final ByteOrderMark[] DEFAULT = { ByteOrderMark.UTF_8 };
111111

112112
private boolean include;
113113
private ByteOrderMark[] byteOrderMarks = DEFAULT;
@@ -140,13 +140,19 @@ public Builder setInclude(final boolean include) {
140140
return this;
141141
}
142142

143+
// for test access
144+
static ByteOrderMark getDefaultBOM() {
145+
return DEFAULT[0];
146+
}
147+
143148
}
144149

145150
/**
146151
* Compares ByteOrderMark objects in descending length order.
147152
*/
148153
private static final Comparator<ByteOrderMark> ByteOrderMarkLengthComparator = Comparator.comparing(ByteOrderMark::length).reversed();
149154

155+
150156
/**
151157
* Constructs a new {@link Builder}.
152158
*

src/test/java/org/apache/commons/io/input/BOMInputStreamTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -409,7 +409,7 @@ public void testNoBoms() throws Exception {
409409
.setInclude(true)
410410
.setByteOrderMarks((ByteOrderMark[]) null)
411411
.get()) {
412-
assertEquals(BOMInputStream.Builder.DEFAULT[0], bomInputStream.getBOM());
412+
assertEquals(BOMInputStream.Builder.getDefaultBOM(), bomInputStream.getBOM());
413413
}
414414
assertThrows(IllegalArgumentException.class, () -> BOMInputStream.builder()
415415
.setInputStream(createUtf8Input(data, true))

0 commit comments

Comments
 (0)