Class MessageToMessageEncoder<I>

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelOutboundHandlerAdapter
io.netty.handler.codec.MessageToMessageEncoder<I>
All Implemented Interfaces:
ChannelHandler, ChannelOutboundHandler
Direct Known Subclasses:
AbstractMemcacheObjectEncoder, Base64Encoder, ByteArrayEncoder, DatagramDnsQueryEncoder, DatagramDnsResponseEncoder, DatagramPacketEncoder, HttpObjectEncoder, LengthFieldPrepender, LineEncoder, MqttEncoder, ProtobufEncoder, ProtobufEncoderNano, RedisEncoder, SctpOutboundByteStreamHandler, SmtpRequestEncoder, SpdyHttpEncoder, StompSubframeEncoder, StringEncoder, TcpDnsResponseEncoder, WebSocket00FrameEncoder, WebSocket08FrameEncoder, WebSocketExtensionEncoder

public abstract class MessageToMessageEncoder<I> extends ChannelOutboundHandlerAdapter
ChannelOutboundHandlerAdapter which encodes from one message to an other message For example here is an implementation which decodes an Integer to an String.
 public class IntegerToStringEncoder extends
 MessageToMessageEncoder<Integer> {
 @Override
 public void encode(ChannelHandlerContext ctx, Integer message, List<Object> out)
 throws Exception {
 out.add(message.toString());
 }
 }
Be aware that you need to call ReferenceCounted.retain() on messages that are just passed through if they are of type ReferenceCounted. This is needed as the MessageToMessageEncoder will call ReferenceCounted.release() on encoded messages.