package com.rubiconproject.oss.kv.transcoder; import java.util.Arrays; /** * Encoder/decoder for bytes. Copied from Tokyo Tyrant: * * http://bitbucket.org/EP/tokyotyrant-java/src/tip/src/main/java/tokyotyrant/transcoder/ByteTranscoder.java * * @author samtingleff * */ public class ByteTranscoder implements Transcoder { public byte[] encode(Object decoded) { return new byte[] { (Byte) decoded }; } public Object decode(byte[] encoded) { if (encoded.length != Byte.SIZE / 8) { throw new IllegalArgumentException("Unable to decode " + Arrays.toString(encoded)); } return encoded[0]; } }