Skip to content

Commit

Permalink
Internal refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
garydgregory committed Apr 19, 2024
1 parent 873ecaa commit 86d1045
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions src/main/java/org/apache/commons/codec/binary/Hex.java
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ public static char[] encodeHex(final byte[] data) {
* @since 1.4
*/
public static char[] encodeHex(final byte[] data, final boolean toLowerCase) {
return encodeHex(data, toLowerCase ? DIGITS_LOWER : DIGITS_UPPER);
return encodeHex(data, toAlphabet(toLowerCase));
}

/**
Expand Down Expand Up @@ -176,7 +176,7 @@ protected static char[] encodeHex(final byte[] data, final char[] toDigits) {
* @since 1.15
*/
public static char[] encodeHex(final byte[] data, final int dataOffset, final int dataLen, final boolean toLowerCase) {
return encodeHex(data, dataOffset, dataLen, toLowerCase ? DIGITS_LOWER : DIGITS_UPPER, new char[dataLen << 1], 0);
return encodeHex(data, dataOffset, dataLen, toAlphabet(toLowerCase), new char[dataLen << 1], 0);
}

/**
Expand All @@ -191,7 +191,7 @@ public static char[] encodeHex(final byte[] data, final int dataOffset, final in
* @since 1.15
*/
public static void encodeHex(final byte[] data, final int dataOffset, final int dataLen, final boolean toLowerCase, final char[] out, final int outOffset) {
encodeHex(data, dataOffset, dataLen, toLowerCase ? DIGITS_LOWER : DIGITS_UPPER, out, outOffset);
encodeHex(data, dataOffset, dataLen, toAlphabet(toLowerCase), out, outOffset);
}

/**
Expand Down Expand Up @@ -244,7 +244,7 @@ public static char[] encodeHex(final ByteBuffer data) {
* @since 1.11
*/
public static char[] encodeHex(final ByteBuffer data, final boolean toLowerCase) {
return encodeHex(data, toLowerCase ? DIGITS_LOWER : DIGITS_UPPER);
return encodeHex(data, toAlphabet(toLowerCase));
}

/**
Expand Down Expand Up @@ -321,6 +321,16 @@ public static String encodeHexString(final ByteBuffer data, final boolean toLowe
return new String(encodeHex(data, toLowerCase));
}

/**
* Converts a boolean to an alphabet.
*
* @param toLowerCase true for lowercase, false for uppercase.
* @return an alphabet.
*/
private static char[] toAlphabet(final boolean toLowerCase) {
return toLowerCase ? DIGITS_LOWER : DIGITS_UPPER;
}

/**
* Convert the byte buffer to a byte array. All bytes identified by
* {@link ByteBuffer#remaining()} will be used.
Expand Down

0 comments on commit 86d1045

Please sign in to comment.