org.apache.commons.codec.net

Class RFC1522Codec

abstract class RFC1522Codec extends 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.

Since: 1.3

Version: $Id: RFC1522Codec.java 130352 2004-04-09 22:21:43Z ggregory $

Author: Apache Software Foundation

See Also: MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text

Method Summary
protected StringdecodeText(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 StringencodeText(String text, String charset)
Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.
protected abstract StringgetEncoding()
Returns the codec name (referred to as encoding in the RFC 1522)

Method Detail

decodeText

protected String decodeText(String text)
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 {@link #doEncoding(byte [])} method of a concrete class to perform the specific deconding.

Parameters: text a string to decode

Throws: DecoderException thrown if there is an error conidition during the Decoding process. UnsupportedEncodingException thrown if charset specified in the "encoded-word" header is not supported

doDecoding

protected abstract byte[] doDecoding(byte[] bytes)
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.

doEncoding

protected abstract byte[] doEncoding(byte[] bytes)
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.

encodeText

protected String encodeText(String text, String charset)
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 {@link #doEncoding(byte [])} method of a concrete class to perform the specific enconding.

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 conidition during the Encoding process. UnsupportedEncodingException thrown if charset is not supported

See Also: JRE character encoding names

getEncoding

protected abstract String getEncoding()
Returns the codec name (referred to as encoding in the RFC 1522)

Returns: name of the codec

commons-codec version 1.3 - Copyright © 2002-2004 - Apache Software Foundation