Altibase.jdbc.driver.util

## Class NibbleUtils

- java.lang.Object
- - Altibase.jdbc.driver.util.NibbleUtils

    public final class NibbleUtils
    extends java.lang.Object

nibble array를 위한 유틸리티 클래스.

nibble array는 nibble 값을 한 바이트로 하는 byte[]다. 즉, nibble 데이타 'F0123'의 nibble array는 byte[]{0xF, 0x1, 0x2, 0x3}로 표현한다. 이 값은 문자열로 'F0123'처럼 표현한다.

### Method Summary

All Methods Static Methods Concrete Methods
`static byte[]` `fromByteArray(byte[] aByteArray)` byte array를 nibble array로 변환한다.
`static byte[]` `fromByteArray(byte[] aByteArray, int aMaxNibbleLength)` byte array를 nibble array로 변환한다.
`static boolean` `isNibble(int aNibble)` nibble 값인지 확인한다.
`static boolean` `isValid(byte[] aNibbleArray)` 유효한 nibble array인지 확인한다.
`static byte[]` `parseNibbleArray(java.lang.String aHexString)` hex string을 nibble array로 변환한다.
`static byte[]` `toByteArray(byte[] aNibbleArray)` nibble array를 byte array로 변환한다.
`static java.lang.String` `toHexString(byte[] aNibbleArray)` nibble array를 hex string으로 변환한다.
`static java.lang.String` `toHexString(byte[] aNibbleArray, int aSpacingBase)` nibble array를 hex string으로 변환한다.
`static java.lang.String` `toHexString(byte[] aNibbleArray, int aStartIdx, int aEndFence)` nibble array를 hex string으로 변환한다.
`static java.lang.String` `toHexString(byte[] aNibbleArray, int aStartIdx, int aEndIndex, int aAppendingBase, java.lang.String aAppendingString)` nibble array를 hex string으로 변환한다.
`static java.lang.String` `toHexString(byte[] aNibbleArray, int aAppendingBase, java.lang.String aAppendingString)` nibble array를 hex string으로 변환한다.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### isNibble

    public static boolean isNibble(int aNibble)

nibble 값인지 확인한다.

Parameters:
  `aNibble` - 확인할 값
Returns:
  nibble 값이면 true, 아니면 false

#### isValid

    public static boolean isValid(byte[] aNibbleArray)

유효한 nibble array인지 확인한다.

Parameters:
  `aNibbleArray` - 확인한 byte array
Returns:
  byte array의 각 요소 값이 모두 nibble이면 true, 아니면 false

#### parseNibbleArray

    public static byte[] parseNibbleArray(java.lang.String aHexString)

hex string을 nibble array로 변환한다.

Parameters:
  `aHexString` - nibble array로 변환할 hex string
Returns:
  변환된 nibble array. hex string이 null이면 null, 빈 문자열이면 길이가 0인 배열.
Throws:
  `java.lang.IllegalArgumentException` - hex string이 올바르지 않을 경우

#### toByteArray

    public static byte[] toByteArray(byte[] aNibbleArray)

nibble array를 byte array로 변환한다.

Parameters:
  `aNibbleArray` - 변환할 nibble array
Returns:
  변환한 byte array
Throws:
  `java.lang.IllegalArgumentException` - 유효한 nibble array가 아닌 경우

#### fromByteArray

    public static byte[] fromByteArray(byte[] aByteArray)

byte array를 nibble array로 변환한다.

Parameters:
  `aByteArray` - nibble array로 변환할 byte array
Returns:
  변환한 nibble array

#### fromByteArray

    public static byte[] fromByteArray(byte[] aByteArray,
                                       int aMaxNibbleLength)

byte array를 nibble array로 변환한다.

max nibble length를 지정하면 byte array로부터 생성될 nibble array의 길이를 제한할 수 있다. 단, max nibble length는 최대 길이를 제한하는데만 사용하므로, 주어진 byte array로 만들 수 있는 nibble array의 길이가 max nibble array보다 작다면 그만큼의 길이를 갖는 nibble array를 만든다.

Parameters:
  `aByteArray` - nibble array로 변환할 byte array
  `aMaxNibbleLength` - nibble array의 최대 길이
Returns:
  변환한 nibble array
Throws:
  `java.lang.IllegalArgumentException` - max nibble length가 0보다 작을 경우

#### toHexString

    public static java.lang.String toHexString(byte[] aNibbleArray)

nibble array를 hex string으로 변환한다.

Parameters:
  `aNibbleArray` - hex string으로 변환할 nibble array
Returns:
  변환된 hex string. nibble array가 null이면 "null", 길이가 0이면 빈 문자열.

#### toHexString

    public static java.lang.String toHexString(byte[] aNibbleArray,
                                               int aSpacingBase)

nibble array를 hex string으로 변환한다.

Parameters:
  `aNibbleArray` - hex string으로 변환할 nibble array
  `aSpacingBase` - 공백을 삽입할 단위. 0이면 공백을 붙이지 않는다.
Returns:
  변환된 hex string. nibble array가 null이면 "null", 길이가 0이면 빈 문자열.

#### toHexString

    public static java.lang.String toHexString(byte[] aNibbleArray,
                                               int aAppendingBase,
                                               java.lang.String aAppendingString)

nibble array를 hex string으로 변환한다.

Parameters:
  `aNibbleArray` - hex string으로 변환할 nibble array
  `aAppendingBase` - aAppendingChar를 삽입할 단위. 0이면 붙이지 않는다.
  `aAppendingString` - aAppendingBase 마다 추가할 문자열
Returns:
  변환된 hex string. nibble array가 null이면 "null", 길이가 0이면 빈 문자열.
Throws:
  `java.lang.IllegalArgumentException` - array에 nibble 범위(0x0~0xF)를 넘어가는 값이 있을 경우

#### toHexString

    public static java.lang.String toHexString(byte[] aNibbleArray,
                                               int aStartIdx,
                                               int aEndFence)

nibble array를 hex string으로 변환한다.

Parameters:
  `aNibbleArray` - hex string으로 변환할 nibble array
  `aStartIdx` - 시작 index (inclusive)
  `aEndFence` - 끝 index (exclusive)
Returns:
  변환된 hex string. nibble array가 null이면 "null", 길이가 0이면 빈 문자열.

#### toHexString

    public static java.lang.String toHexString(byte[] aNibbleArray,
                                               int aStartIdx,
                                               int aEndIndex,
                                               int aAppendingBase,
                                               java.lang.String aAppendingString)

nibble array를 hex string으로 변환한다.

Parameters:
  `aNibbleArray` - hex string으로 변환할 nibble array
  `aStartIdx` - 시작 index (inclusive)
  `aEndIndex` - 끝 index (exclusive)
  `aAppendingBase` - aAppendingChar를 삽입할 단위. 0이면 붙이지 않는다.
  `aAppendingString` - aAppendingBase 마다 추가할 문자열
Returns:
  변환된 hex string. nibble array가 null이면 "null", 길이가 0이면 빈 문자열.
Throws:
  `java.lang.IllegalArgumentException` - array에 nibble 범위(0x0~0xF)를 넘어가는 값이 있을 경우