package com.tinkerpop.rexster.protocol.serializer; import com.tinkerpop.rexster.protocol.msg.RexProMessage; import java.io.IOException; /** * RexPro serializer interface. Use this to implement new serializers * * @author Blake Eggleston (bdeggleston.github.com) */ public interface RexProSerializer { /** * Consumes a byte array and RexProMessage class and returns a RexProMessage instance * * @param bytes * @param messageClass * @param <Message> * @return */ public <Message extends RexProMessage> Message deserialize(byte[] bytes, Class<Message> messageClass) throws IOException; /** * Consumes a RexProMessage and returns a byte array * * @param message * @param <Message> * @return */ public <Message extends RexProMessage> byte[] serialize(Message message, Class<Message> messageClass) throws IOException; /** * Returns the byte uniquely identifying this serializer * @return */ public byte getSerializerId(); }