Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jboss.netty.handler.codec.embedder
Class EncoderEmbedder<E>

    java.lang.Object
      org.jboss.netty.handler.codec.embedder.EncoderEmbedder<E>

All Implemented Interfaces:
  CodecEmbedder<E>

    public class EncoderEmbedder<E>

extends Object

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<ChannelBuffer>(
             new Base64Encoder(), new StringEncoder());

     embedded.offer(data);

     ChannelBuffer encoded = embedded.poll();
     assert encoded.toString(CharsetUtil.US_ASCII).equals("Zm9vYmFy");

Version:
  $Rev: 2122 $, $Date: 2010-02-02 11:00:04 +0900 (Tue, 02 Feb 2010) $
Author:
  The Netty Project, Trustin Lee
See Also:
  `DecoderEmbedder`

Constructor Summary
`EncoderEmbedder(ChannelBufferFactory bufferFactory, ChannelDownstreamHandler... handlers)` Creates a new embedder whose pipeline is composed of the specified handlers.
`EncoderEmbedder(ChannelDownstreamHandler... handlers)` Creates a new embedder whose pipeline is composed of the specified handlers.

Method Summary
`boolean` | `finish()` Signals the pipeline that the encoding or decoding has been finished and no more data will be offered.
`protected Channel` | `getChannel()` Returns the virtual `Channel` which will be used as a mock during encoding and decoding.
`protected boolean` | `isEmpty()` Returns `true` if and only if the produce queue is empty and therefore `poll()` will return `null`.
`boolean` | `offer(Object input)` Offers an input object to the pipeline of this embedder.
`E` | `peek()` Reads an encoded or decoded output from the head of the product queue.
`E` | `poll()` Consumes an encoded or decoded output from the product queue.
`Object[]` | `pollAll()` Consumes all encoded or decoded output from the product queue.
`
`<T> T[]`
` | `pollAll(T[] a)` Consumes all encoded or decoded output from the product queue.
`int` | `size()` Returns the number of encoded or decoded output in the product queue.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### 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 Detail

### offer

    public boolean offer(Object input)

  Description copied from interface: `CodecEmbedder`
  Offers an input object to the pipeline of this embedder.

  Returns:
    `true` if and only if there is something to read in the product queue (see `CodecEmbedder.poll()` and `CodecEmbedder.peek()`)

### finish

    public boolean finish()

  Description copied from interface: `CodecEmbedder`
  Signals the pipeline that the encoding or decoding has been finished and no more data will be offered.

  Specified by:
    `finish` in interface `CodecEmbedder<E>`
  Returns:
    `true` if and only if there is something to read in the product queue (see `CodecEmbedder.poll()` and `CodecEmbedder.peek()`)

### getChannel

    protected final Channel getChannel()

  Returns the virtual `Channel` which will be used as a mock during encoding and decoding.

### isEmpty

    protected final boolean isEmpty()

  Returns `true` if and only if the produce queue is empty and therefore `poll()` will return `null`.

### poll

    public final E poll()

  Description copied from interface: `CodecEmbedder`
  Consumes an encoded or decoded output from the product queue. The output object is generated by the offered input objects.

  Specified by:
    `poll` in interface `CodecEmbedder<E>`
  Returns:
    an encoded or decoded object. `null` if and only if there is no output object left in the product queue.

### peek

    public final E peek()

  Description copied from interface: `CodecEmbedder`
  Reads an encoded or decoded output from the head of the product queue. The difference from `CodecEmbedder.poll()` is that it does not remove the retrieved object from the product queue.

  Specified by:
    `peek` in interface `CodecEmbedder<E>`
  Returns:
    an encoded or decoded object. `null` if and only if there is no output object left in the product queue.

### pollAll

    public final Object[] pollAll()

  Description copied from interface: `CodecEmbedder`
  Consumes all encoded or decoded output from the product queue. The output object is generated by the offered input objects. The behavior of this method is identical with `Collection.toArray()` except that the product queue is cleared.

  Specified by:
    `pollAll` in interface `CodecEmbedder<E>`
  Returns:
    an array of all encoded or decoded objects. An empty array is returned if and only if there is no output object left in the product queue.

### pollAll

    public final <T> T[] pollAll(T[] a)

  Description copied from interface: `CodecEmbedder`
  Consumes all encoded or decoded output from the product queue. The output object is generated by the offered input objects. The behavior of this method is identical with `Collection.toArray(Object[])` except that the product queue is cleared.

  Specified by:
    `pollAll` in interface `CodecEmbedder<E>`
  Returns:
    an array of all encoded or decoded objects. An empty array is returned if and only if there is no output object left in the product queue.

### size

    public final int size()

  Description copied from interface: `CodecEmbedder`
  Returns the number of encoded or decoded output in the product queue.

  Specified by:
    `size` in interface `CodecEmbedder<E>`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008-2010 JBoss, a division of Red Hat, Inc.. All Rights Reserved.