|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.codec.net.QCodec
public class QCodec
Similar to the Quoted-Printable content-transfer-encoding defined in RFC 1521 and designed to allow text containing mostly ASCII characters to be decipherable on an ASCII terminal without decoding.
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 conditionally thread-safe.
The instance field encodeBlanks
is mutable setEncodeBlanks(boolean)
but is not volatile, and accesses are not synchronised.
If an instance of the class is shared between threads, the caller needs to ensure that suitable synchronisation
is used to ensure safe publication of the value between threads, and must not invoke
setEncodeBlanks(boolean)
after initial setup.
Field Summary | |
---|---|
protected static String |
POSTFIX
Prefix. |
protected static String |
PREFIX
Postfix. |
protected static char |
SEP
Separator. |
Constructor Summary | |
---|---|
QCodec()
Default constructor. |
|
QCodec(Charset charset)
Constructor which allows for the selection of a default charset. |
|
QCodec(String charsetName)
Constructor which allows for the selection of a default charset. |
Method Summary | |
---|---|
Object |
decode(Object obj)
Decodes a quoted-printable object into its original form. |
String |
decode(String str)
Decodes a quoted-printable string into its original form. |
protected String |
decodeText(String text)
Applies an RFC 1522 compliant decoding scheme to the given string of text. |
protected byte[] |
doDecoding(byte[] bytes)
Decodes an array of bytes using the defined encoding scheme. |
protected byte[] |
doEncoding(byte[] bytes)
Encodes an array of bytes using the defined encoding scheme. |
Object |
encode(Object obj)
Encodes an object into its quoted-printable form using the default charset. |
String |
encode(String str)
Encodes a string into its quoted-printable form using the default charset. |
String |
encode(String str,
Charset charset)
Encodes a string into its quoted-printable form using the specified charset. |
String |
encode(String str,
String charset)
Encodes a string into its quoted-printable form using the specified charset. |
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. |
Charset |
getCharset()
Gets the default charset name used for string decoding and encoding. |
String |
getDefaultCharset()
Gets the default charset name used for string decoding and encoding. |
protected String |
getEncoding()
Returns the codec name (referred to as encoding in the RFC 1522). |
boolean |
isEncodeBlanks()
Tests if optional transformation of SPACE characters is to be used |
void |
setEncodeBlanks(boolean b)
Defines whether optional transformation of SPACE characters is to be used |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final char SEP
protected static final String POSTFIX
protected static final String PREFIX
Constructor Detail |
---|
public QCodec()
public QCodec(Charset charset)
charset
- the default string charset to use.public QCodec(String charsetName)
charsetName
- the charset to use.
UnsupportedCharsetException
- If the named charset is unavailableMethod Detail |
---|
protected String getEncoding()
protected byte[] doEncoding(byte[] bytes)
bytes
- Data to be encoded
protected byte[] doDecoding(byte[] bytes) throws DecoderException
bytes
- Data to be decoded
DecoderException
- A decoder exception is thrown if a Decoder encounters a failure condition during the decode process.public String encode(String str, Charset charset) throws EncoderException
str
- string to convert to quoted-printable formcharset
- the charset for str
EncoderException
- thrown if a failure condition is encountered during the encoding process.public String encode(String str, String charset) throws EncoderException
str
- string to convert to quoted-printable formcharset
- the charset for str
EncoderException
- thrown if a failure condition is encountered during the encoding process.public String encode(String str) throws EncoderException
encode
in interface StringEncoder
str
- string to convert to quoted-printable form
EncoderException
- thrown if a failure condition is encountered during the encoding process.public String decode(String str) throws DecoderException
decode
in interface StringDecoder
str
- quoted-printable string to convert into its original form
DecoderException
- A decoder exception is thrown if a failure condition is encountered during the decode process.public Object encode(Object obj) throws EncoderException
encode
in interface Encoder
obj
- object to convert to quoted-printable form
EncoderException
- thrown if a failure condition is encountered during the encoding process.public Object decode(Object obj) throws DecoderException
decode
in interface Decoder
obj
- quoted-printable object to convert into its original form
DecoderException
- Thrown if the argument is not a String
. Thrown if a failure condition is encountered
during the decode process.public Charset getCharset()
public String getDefaultCharset()
public boolean isEncodeBlanks()
true
if SPACE characters are to be transformed, false
otherwisepublic void setEncodeBlanks(boolean b)
b
- true
if SPACE characters are to be transformed, false
otherwiseprotected 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 used
EncoderException
- 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 use
EncoderException
- 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 decode
null
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 supported
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |