package org.gbif.occurrence.hbaseindexer;
import com.google.common.primitives.Ints;
import com.ngdata.hbaseindexer.uniquekey.BaseUniqueKeyFormatter;
import com.ngdata.hbaseindexer.uniquekey.UniqueKeyFormatter;
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Hex;
public class IntKeyFormatter extends BaseUniqueKeyFormatter implements UniqueKeyFormatter {
@Override
protected String encodeAsString(byte[] bytes) {
return new Integer(Ints.fromByteArray(bytes)).toString();
}
@Override
protected byte[] decodeFromString(String value) {
try {
return Ints.toByteArray(Ints.fromByteArray(Hex.decodeHex(value.toCharArray())));
} catch (DecoderException e) {
throw new IllegalArgumentException("Value '" + value + "' can't be decoded as hex", e);
}
}
}