Class EncoderEmbedder<E>

java.lang.Object
org.jboss.netty.handler.codec.embedder.AbstractCodecEmbedder<E>
org.jboss.netty.handler.codec.embedder.EncoderEmbedder<E>
All Implemented Interfaces:
CodecEmbedder<E>

public class EncoderEmbedder<E> extends AbstractCodecEmbedder<E>
A helper that wraps an encoder so that it can be used without doing actual I/O in unit tests or higher level codecs. For example, you can encode a String into a Base64-encoded ChannelBuffer with Base64Encoder and StringEncoder without setting up the ChannelPipeline and other mock objects by yourself:
 String data = "foobar";

 EncoderEmbedder<ChannelBuffer> embedder = new EncoderEmbedder<>(
         new Base64Encoder(), new StringEncoder());

 embedder.offer(data);

 ChannelBuffer encoded = embedder.poll();
 assert encoded.toString(CharsetUtil.US_ASCII).equals("Zm9vYmFy");
 
See Also:
  • Constructor Details

    • EncoderEmbedder

      public EncoderEmbedder(ChannelDownstreamHandler... handlers)
      Creates a new embedder whose pipeline is composed of the specified handlers.
    • EncoderEmbedder

      public EncoderEmbedder(ChannelBufferFactory bufferFactory, ChannelDownstreamHandler... handlers)
      Creates a new embedder whose pipeline is composed of the specified handlers.
      Parameters:
      bufferFactory - the ChannelBufferFactory to be used when creating a new buffer.
  • Method Details