package ch.unibe.scg.cc; import ch.unibe.scg.cc.Protos.Function; import ch.unibe.scg.cells.Cell; import ch.unibe.scg.cells.Codec; import com.google.protobuf.ByteString; import com.google.protobuf.InvalidProtocolBufferException; class FunctionStringCodec implements Codec<Str<Function>> { final static private long serialVersionUID = 1L; /** Don't modify. */ final static private byte[] columnName = ByteString.copyFromUtf8("function").toByteArray(); @Override public Cell<Str<Function>> encode(Str<Function> s) { return Cell.make( s.hash, ByteString.copyFrom(columnName), ByteString.copyFromUtf8(s.contents)); } @Override public Str<Function> decode(Cell<Str<Function>> encoded) throws InvalidProtocolBufferException { return new Str<>(encoded.getRowKey(), encoded.getCellContents().toStringUtf8()); } }