package org.starmod.net.codec; import io.netty.buffer.ByteBuf; import org.starmod.net.Codec; import org.starmod.net.Header; import org.starmod.net.command.MessageTo; import org.starmod.net.util.Parameters; import java.io.IOException; public class MessageToCodec implements Codec<MessageTo> { @Override public MessageTo decode(ByteBuf buf, Header header) throws IOException { Object[] params = Parameters.decode(buf); String prefix = (String) params[0]; String message = (String) params[1]; int type = (int) params[2]; return new MessageTo(header, prefix, message, type); } @Override public ByteBuf encode(ByteBuf buf, MessageTo cmd) throws IOException { Object[] params = new Object[3]; params[0] = cmd.getPrefix(); params[1] = cmd.getMessage(); params[2] = cmd.getType(); buf = Parameters.encode(buf, params); return buf; } }