org.apache.mina.filter.codec.textline

## Class TextLineCodecFactory

- java.lang.Object
- - org.apache.mina.filter.codec.textline.TextLineCodecFactory

- All Implemented Interfaces:
    ProtocolCodecFactory

      public class TextLineCodecFactory
      extends Object
      implements ProtocolCodecFactory

  A `ProtocolCodecFactory` that performs encoding and decoding between a text line data and a Java string object. This codec is useful especially when you work with a text-based protocols such as SMTP and IMAP.
  Author:
    Apache MINA Project

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `TextLineCodecFactory()` Creates a new instance with the current default `Charset`.
    `TextLineCodecFactory(Charset charset)` Creates a new instance with the specified `Charset`.
    `TextLineCodecFactory(Charset charset, LineDelimiter encodingDelimiter, LineDelimiter decodingDelimiter)` Creates a new instance of TextLineCodecFactory.
    `TextLineCodecFactory(Charset charset, String encodingDelimiter, String decodingDelimiter)` Creates a new instance of TextLineCodecFactory.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ProtocolDecoder` | `getDecoder(IoSession session)` Returns a new (or reusable) instance of `ProtocolDecoder` which decodes binary or protocol-specific data into message objects.
    `int` | `getDecoderMaxLineLength()` Returns the allowed maximum size of the line to be decoded.
    `ProtocolEncoder` | `getEncoder(IoSession session)` Returns a new (or reusable) instance of `ProtocolEncoder` which encodes message objects into binary or protocol-specific data.
    `int` | `getEncoderMaxLineLength()` Returns the allowed maximum size of the encoded line.
    `void` | `setDecoderMaxLineLength(int maxLineLength)` Sets the allowed maximum size of the line to be decoded.
    `void` | `setEncoderMaxLineLength(int maxLineLength)` Sets the allowed maximum size of the encoded line.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### TextLineCodecFactory

          public TextLineCodecFactory()

      Creates a new instance with the current default `Charset`.

    - #### TextLineCodecFactory

          public TextLineCodecFactory(Charset charset)

      Creates a new instance with the specified `Charset`. The encoder uses a UNIX `LineDelimiter` and the decoder uses the AUTO `LineDelimiter`.
      Parameters:
        `charset` - The charset to use in the encoding and decoding

    - #### TextLineCodecFactory

          public TextLineCodecFactory(Charset charset,
                              String encodingDelimiter,
                              String decodingDelimiter)

      Creates a new instance of TextLineCodecFactory. This constructor provides more flexibility for the developer.
      Parameters:
        `charset` - The charset to use in the encoding and decoding
        `encodingDelimiter` - The line delimeter for the encoder
        `decodingDelimiter` - The line delimeter for the decoder

    - #### TextLineCodecFactory

          public TextLineCodecFactory(Charset charset,
                              LineDelimiter encodingDelimiter,
                              LineDelimiter decodingDelimiter)

      Creates a new instance of TextLineCodecFactory. This constructor provides more flexibility for the developer.
      Parameters:
        `charset` - The charset to use in the encoding and decoding
        `encodingDelimiter` - The line delimeter for the encoder
        `decodingDelimiter` - The line delimeter for the decoder

  - ### Method Detail

    - #### getEncoder

          public ProtocolEncoder getEncoder(IoSession session)

      Description copied from interface: `ProtocolCodecFactory`
      Returns a new (or reusable) instance of `ProtocolEncoder` which encodes message objects into binary or protocol-specific data.
      Specified by:
        `getEncoder` in interface `ProtocolCodecFactory`

    - #### getDecoder

          public ProtocolDecoder getDecoder(IoSession session)

      Description copied from interface: `ProtocolCodecFactory`
      Returns a new (or reusable) instance of `ProtocolDecoder` which decodes binary or protocol-specific data into message objects.
      Specified by:
        `getDecoder` in interface `ProtocolCodecFactory`

    - #### getEncoderMaxLineLength

          public int getEncoderMaxLineLength()

      Returns the allowed maximum size of the encoded line. If the size of the encoded line exceeds this value, the encoder will throw a `IllegalArgumentException`. The default value is `Integer.MAX_VALUE`.

      This method does the same job with `TextLineEncoder.getMaxLineLength()`.

    - #### setEncoderMaxLineLength

          public void setEncoderMaxLineLength(int maxLineLength)

      Sets the allowed maximum size of the encoded line. If the size of the encoded line exceeds this value, the encoder will throw a `IllegalArgumentException`. The default value is `Integer.MAX_VALUE`.

      This method does the same job with `TextLineEncoder.setMaxLineLength(int)`.

    - #### getDecoderMaxLineLength

          public int getDecoderMaxLineLength()

      Returns the allowed maximum size of the line to be decoded. If the size of the line to be decoded exceeds this value, the decoder will throw a `BufferDataException`. The default value is `1024` (1KB).

      This method does the same job with `TextLineDecoder.getMaxLineLength()`.

    - #### setDecoderMaxLineLength

          public void setDecoderMaxLineLength(int maxLineLength)

      Sets the allowed maximum size of the line to be decoded. If the size of the line to be decoded exceeds this value, the decoder will throw a `BufferDataException`. The default value is `1024` (1KB).

      This method does the same job with `TextLineDecoder.setMaxLineLength(int)`.

Copyright © 2004-2012 Apache MINA Project. All Rights Reserved.