package iamrescue.agent.ambulanceteam.ambulancetools; import iamrescue.communication.messages.MessagePrefixes; import iamrescue.communication.messages.codec.AbstractMessageCodec; import iamrescue.communication.messages.codec.BitStreamDecoder; import iamrescue.communication.messages.codec.BitStreamEncoder; public class AllocationCodec extends AbstractMessageCodec<AllocationMessage> { @Override public byte getMessagePrefix() { return MessagePrefixes.AMBULANCE_ALLOCATION_PREFIX; } @Override protected AllocationMessage decodeMessage(BitStreamDecoder decoder) { int[] task = decoder.readIntArray(); int time = decoder.readNumber() - Byte.MIN_VALUE; AllocationMessage allocation = new AllocationMessage(task, time); return allocation; } @Override protected void encodeMessage(AllocationMessage message, BitStreamEncoder encoder) { encoder.appendIntArray(message.getTask()); encoder.appendNumber(message.getTime() + Byte.MIN_VALUE); } }