RFC1522Codec (Encode/Decode Utilities (Version 1.10))
Date: 2018-05-06

org.apache.commons.codec.net

## Class RFC1522Codec

- java.lang.Object
- - org.apache.commons.codec.net.RFC1522Codec

- Direct Known Subclasses:
    BCodec, QCodec

      abstract class RFC1522Codec
      extends java.lang.Object

  Implements methods common to all codecs defined in RFC 1522.

  RFC 1522 describes techniques to allow the encoding of non-ASCII text in various portions of a RFC 822 [2] message header, in a manner which is unlikely to confuse existing message handling software.

  This class is immutable and thread-safe.

  Since:
    1.3
  Version:
    $Id: RFC1522Codec.java 1619948 2014-08-22 22:53:55Z ggregory $
  See Also:
    MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static java.lang.String` | `POSTFIX` Prefix.
    `protected static java.lang.String` | `PREFIX` Postfix.
    `protected static char` | `SEP` Separator.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RFC1522Codec()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.lang.String` | `decodeText(java.lang.String text)` Applies an RFC 1522 compliant decoding scheme to the given string of text.
    `protected abstract byte[]` | `doDecoding(byte[] bytes)` Decodes an array of bytes using the defined encoding scheme.
    `protected abstract byte[]` | `doEncoding(byte[] bytes)` Encodes an array of bytes using the defined encoding scheme.
    `protected java.lang.String` | `encodeText(java.lang.String text, java.nio.charset.Charset charset)` Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.
    `protected java.lang.String` | `encodeText(java.lang.String text, java.lang.String charsetName)` Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.
    `protected abstract java.lang.String` | `getEncoding()` Returns the codec name (referred to as encoding in the RFC 1522).

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

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

- - ### Field Detail

    - #### SEP

          protected static final char SEP

      Separator.
      See Also:
        Constant Field Values

    - #### POSTFIX

          protected static final java.lang.String POSTFIX

      Prefix.
      See Also:
        Constant Field Values

    - #### PREFIX

          protected static final java.lang.String PREFIX

      Postfix.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### RFC1522Codec

          RFC1522Codec()

  - ### Method Detail

    - #### encodeText

          protected java.lang.String encodeText(java.lang.String text,
                                    java.nio.charset.Charset charset)
                                         throws EncoderException

      Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.

      This method constructs the "encoded-word" header common to all the RFC 1522 codecs and then invokes `doEncoding(byte [])` method of a concrete class to perform the specific encoding.

      Parameters:
        `text` - a string to encode
        `charset` - a charset to be used
      Returns:
        RFC 1522 compliant "encoded-word"
      Throws:
        `EncoderException` - thrown if there is an error condition during the Encoding process.
      See Also:
        Standard charsets

    - #### encodeText

          protected java.lang.String encodeText(java.lang.String text,
                                    java.lang.String charsetName)
                                         throws EncoderException,
                                                java.io.UnsupportedEncodingException

      Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.

      This method constructs the "encoded-word" header common to all the RFC 1522 codecs and then invokes `doEncoding(byte [])` method of a concrete class to perform the specific encoding.

      Parameters:
        `text` - a string to encode
        `charsetName` - the charset to use
      Returns:
        RFC 1522 compliant "encoded-word"
      Throws:
        `EncoderException` - thrown if there is an error condition during the Encoding process.
        `java.io.UnsupportedEncodingException` - if charset is not available
      See Also:
        Standard charsets

    - #### decodeText

          protected java.lang.String decodeText(java.lang.String text)
                                         throws DecoderException,
                                                java.io.UnsupportedEncodingException

      Applies an RFC 1522 compliant decoding scheme to the given string of text.

      This method processes the "encoded-word" header common to all the RFC 1522 codecs and then invokes `doEncoding(byte [])` method of a concrete class to perform the specific decoding.

      Parameters:
        `text` - a string to decode
      Returns:
        A new decoded String or `null` if the input is `null`.
      Throws:
        `DecoderException` - thrown if there is an error condition during the decoding process.
        `java.io.UnsupportedEncodingException` - thrown if charset specified in the "encoded-word" header is not supported

    - #### getEncoding

          protected abstract java.lang.String getEncoding()

      Returns the codec name (referred to as encoding in the RFC 1522).
      Returns:
        name of the codec

    - #### doEncoding

          protected abstract byte[] doEncoding(byte[] bytes)
                                        throws EncoderException

      Encodes an array of bytes using the defined encoding scheme.
      Parameters:
        `bytes` - Data to be encoded
      Returns:
        A byte array containing the encoded data
      Throws:
        `EncoderException` - thrown if the Encoder encounters a failure condition during the encoding process.

    - #### doDecoding

          protected abstract byte[] doDecoding(byte[] bytes)
                                        throws DecoderException

      Decodes an array of bytes using the defined encoding scheme.
      Parameters:
        `bytes` - Data to be decoded
      Returns:
        a byte array that contains decoded data
      Throws:
        `DecoderException` - A decoder exception is thrown if a Decoder encounters a failure condition during the decode process.

commons-codec version 1.10 - Copyright © 2002-2018 - Apache Software Foundation