org.jboss.netty.handler.codec.embedder

## Interface CodecEmbedder<E>

- All Known Implementing Classes:
    DecoderEmbedder, EncoderEmbedder

      public interface CodecEmbedder<E>

  A helper that wraps an encoder or a decoder (codec) so that they can be used without doing actual I/O in unit tests or higher level codecs. Please refer to `EncoderEmbedder` and `DecoderEmbedder` for more information.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `finish()` Signals the pipeline that the encoding or decoding has been finished and no more data will be offered.
    `ChannelPipeline` | `getPipeline()` Returns the `ChannelPipeline` that handles the input.
    `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.

- - ### Method Detail

    - #### offer

          boolean offer(Object input)

      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 `poll()` and `peek()`)

    - #### finish

          boolean finish()

      Signals the pipeline that the encoding or decoding has been finished and no more data will be offered.
      Returns:
        `true` if and only if there is something to read in the product queue (see `poll()` and `peek()`)

    - #### poll

          E poll()

      Consumes an encoded or decoded output from the product queue. The output object is generated by the offered input objects.
      Returns:
        an encoded or decoded object. `null` if and only if there is no output object left in the product queue.

    - #### peek

          E peek()

      Reads an encoded or decoded output from the head of the product queue. The difference from `poll()` is that it does not remove the retrieved object from the product queue.
      Returns:
        an encoded or decoded object. `null` if and only if there is no output object left in the product queue.

    - #### pollAll

          Object[] pollAll()

      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.
      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

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

      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.
      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

          int size()

      Returns the number of encoded or decoded output in the product queue.

    - #### getPipeline

          ChannelPipeline getPipeline()

      Returns the `ChannelPipeline` that handles the input.

Copyright © 2008-2012 The Netty Project. All Rights Reserved.