Skip to content

Commit d55b092

Browse files
committed
Internal refactoring
1 parent 3d6d334 commit d55b092

1 file changed

Lines changed: 14 additions & 8 deletions

File tree

  • src/main/java/org/apache/commons/codec/binary

src/main/java/org/apache/commons/codec/binary/Base16.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -133,17 +133,23 @@ public Base16(final boolean lowerCase) {
133133
* Constructs a Base16 codec used for decoding and encoding.
134134
*
135135
* @param lowerCase if {@code true} then use a lower-case Base16 alphabet.
136+
* @param encodeTable the encode table.
136137
* @param decodingPolicy Decoding policy.
137138
*/
138-
public Base16(final boolean lowerCase, final CodecPolicy decodingPolicy) {
139+
private Base16(final boolean lowerCase, final byte[] encodeTable, final CodecPolicy decodingPolicy) {
139140
super(BYTES_PER_UNENCODED_BLOCK, BYTES_PER_ENCODED_BLOCK, 0, 0, PAD_DEFAULT, decodingPolicy);
140-
if (lowerCase) {
141-
this.encodeTable = LOWER_CASE_ENCODE_TABLE;
142-
this.decodeTable = LOWER_CASE_DECODE_TABLE;
143-
} else {
144-
this.encodeTable = UPPER_CASE_ENCODE_TABLE;
145-
this.decodeTable = UPPER_CASE_DECODE_TABLE;
146-
}
141+
this.encodeTable = encodeTable;
142+
this.decodeTable = encodeTable == LOWER_CASE_ENCODE_TABLE ? LOWER_CASE_DECODE_TABLE : UPPER_CASE_DECODE_TABLE;
143+
}
144+
145+
/**
146+
* Constructs a Base16 codec used for decoding and encoding.
147+
*
148+
* @param lowerCase if {@code true} then use a lower-case Base16 alphabet.
149+
* @param decodingPolicy Decoding policy.
150+
*/
151+
public Base16(final boolean lowerCase, final CodecPolicy decodingPolicy) {
152+
this(lowerCase, lowerCase ? LOWER_CASE_ENCODE_TABLE : UPPER_CASE_ENCODE_TABLE, decodingPolicy);
147153
}
148154

149155
@Override

0 commit comments

Comments
 (0)