abstract class RFC1522Codec extends Object
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.
Modifier and Type | Field and Description |
---|---|
protected static String |
POSTFIX
Prefix.
|
protected static String |
PREFIX
Postfix.
|
protected static char |
SEP
Separator.
|
Constructor and Description |
---|
RFC1522Codec() |
Modifier and Type | Method and Description |
---|---|
protected String |
decodeText(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 String |
encodeText(String text,
Charset charset)
Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.
|
protected String |
encodeText(String text,
String charsetName)
Applies an RFC 1522 compliant encoding scheme to the given string of text with the given charset.
|
protected abstract String |
getEncoding()
Returns the codec name (referred to as encoding in the RFC 1522).
|
protected static final char SEP
protected static final String POSTFIX
protected static final String PREFIX
RFC1522Codec()
protected String encodeText(String text, Charset charset) throws EncoderException
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.
text
- a string to encodecharset
- a charset to be usedEncoderException
- thrown if there is an error condition during the Encoding process.protected String encodeText(String text, String charsetName) throws EncoderException, UnsupportedEncodingException
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.
text
- a string to encodecharsetName
- the charset to useEncoderException
- thrown if there is an error condition during the Encoding process.UnsupportedEncodingException
- if charset is not availableprotected String decodeText(String text) throws DecoderException, UnsupportedEncodingException
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.
text
- a string to decodenull
if the input is null
.DecoderException
- thrown if there is an error condition during the decoding process.UnsupportedEncodingException
- thrown if charset specified in the "encoded-word" header is not supportedprotected abstract String getEncoding()
protected abstract byte[] doEncoding(byte[] bytes) throws EncoderException
bytes
- Data to be encodedEncoderException
- thrown if the Encoder encounters a failure condition during the encoding process.protected abstract byte[] doDecoding(byte[] bytes) throws DecoderException
bytes
- Data to be decodedDecoderException
- A decoder exception is thrown if a Decoder encounters a failure condition during the decode process.WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses