package ch.unibe.scg.cc; import ch.unibe.scg.cc.Protos.Snippet; import ch.unibe.scg.cells.Cell; import ch.unibe.scg.cells.Codec; import com.google.protobuf.InvalidProtocolBufferException; class Snippet2FunctionsCodec implements Codec<Snippet> { private static final long serialVersionUID = 1L; @Override public Cell<Snippet> encode(Snippet s) { // We assume only one occurrence of a snippet inside a single function return Cell.make(s.getHash(), s.getFunction(), s.toByteString()); } @Override public Snippet decode(Cell<Snippet> encoded) throws InvalidProtocolBufferException { return Snippet.parseFrom(encoded.getCellContents()); } }