
info.archinnov.achilles.serializer.ThriftEnumSerializer Maven / Gradle / Ivy
package info.archinnov.achilles.serializer;
import static info.archinnov.achilles.serializer.ThriftSerializerUtils.*;
import static me.prettyprint.hector.api.ddl.ComparatorType.*;
import java.nio.ByteBuffer;
import me.prettyprint.cassandra.serializers.AbstractSerializer;
import me.prettyprint.hector.api.ddl.ComparatorType;
public class ThriftEnumSerializer> extends AbstractSerializer> {
private Class type;
public ThriftEnumSerializer(Class type) {
this.type = type;
}
@Override
public ByteBuffer toByteBuffer(Enum enumInstance) {
if (enumInstance == null) {
return null;
}
return STRING_SRZ.toByteBuffer(enumInstance.name());
}
@Override
public Enum fromByteBuffer(ByteBuffer byteBuffer) {
String enumName = STRING_SRZ.fromByteBuffer(byteBuffer);
return Enum.valueOf(type, enumName);
}
@Override
public ComparatorType getComparatorType() {
return UTF8TYPE;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy