Class RFC1522Codec
- java.lang.Object
-
- org.apache.commons.codec.net.RFC1522Codec
-
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.
-
-
Constructor Summary
Constructors Constructor Description RFC1522Codec()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method 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.lang.String charsetName)
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.nio.charset.Charset charset)
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).
-
-
-
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
-
-
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 encodecharset
- 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 encodecharsetName
- 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 isnull
. - 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.
-
-