package kz.ilotterytea.frogartha.domain; import com.github.czyzby.websocket.serialization.SerializationException; import com.github.czyzby.websocket.serialization.Transferable; import com.github.czyzby.websocket.serialization.impl.Deserializer; import com.github.czyzby.websocket.serialization.impl.Serializer; public class PlayerData implements Transferable { private Identity identity; private PlayerState state; public PlayerData() { } public PlayerData(Identity identity, PlayerState state) { this.identity = identity; this.state = state; } public Identity getIdentity() { return identity; } public void setIdentity(Identity identity) { this.identity = identity; if (state == null) state = new PlayerState(); } public PlayerState getState() { return state; } @Override public void serialize(Serializer serializer) throws SerializationException { serializer.serializeTransferable(identity).serializeTransferable(state); } @Override public PlayerData deserialize(Deserializer deserializer) throws SerializationException { return new PlayerData( deserializer.deserializeTransferable(new Identity()), deserializer.deserializeTransferable(new PlayerState()) ); } }