package com.github.czyzby.websocket.serialization; import com.github.czyzby.websocket.serialization.impl.Base64Serializer; import com.github.czyzby.websocket.serialization.impl.JsonSerializer; /** Common interface for packet serializers. * * @author MJ * @see JsonSerializer * @see Base64Serializer */ public interface Serializer { /** @param object will be serialized as string. * @return passed object serialized to a string. */ String serializeAsString(Object object); /** @param object will be serialized. * @return passed object serialized to a byte array. */ byte[] serialize(Object object); /** @param data serialized object. * @return an instance of deserialized object. */ Object deserialize(String data); /** @param data serialized object. * @return an instance of deserialized object. */ Object deserialize(byte[] data); }