package me.prettyprint.cassandra.serializers; import java.nio.ByteBuffer; /** * Converts bytes to Boolean and vice versa * * @author Bozhidar Bozhanov * */ public final class BooleanSerializer extends AbstractSerializer<Boolean> { private static final BooleanSerializer instance = new BooleanSerializer(); public static BooleanSerializer get() { return instance; } @Override public ByteBuffer toByteBuffer(Boolean obj) { if (obj == null) { return null; } boolean bool = obj; byte[] b = new byte[1]; b[0] = bool ? (byte) 1 : (byte) 0; return ByteBuffer.wrap(b); } @Override public Boolean fromByteBuffer(ByteBuffer bytes) { if ((bytes == null) || (bytes.remaining() < 1)) { return null; } byte b = bytes.get(); return b == (byte) 1; } }