@Override public String decode(byte[] bytes, int offset, int len) { if (isNull(bytes, offset, len)) { return null; } long code = BytesUtil.readLong(bytes, offset, fixedLen); if (code < 0) throw new IllegalArgumentException(); return codec.codeToValue(code); }
@Override public void encode(String value, byte[] output, int outputOffset) { if (value == null) { Arrays.fill(output, outputOffset, outputOffset + fixedLen, NULL); return; } long code = codec.valueToCode(value); BytesUtil.writeLong(code, output, outputOffset, fixedLen); }
@Override public String decode(byte[] bytes, int offset, int len) { if (isNull(bytes, offset, len)) { return null; } long code = BytesUtil.readLong(bytes, offset, fixedLen); if (code < 0) throw new IllegalArgumentException(); return codec.codeToValue(code); }
@Override public void encode(String value, byte[] output, int outputOffset) { if (value == null) { Arrays.fill(output, outputOffset, outputOffset + fixedLen, NULL); return; } long code = codec.valueToCode(value); BytesUtil.writeLong(code, output, outputOffset, fixedLen); }