javax.mail.internet
Class MimeUtility

java.lang.Object
  extended by javax.mail.internet.MimeUtility

public class MimeUtility
extends java.lang.Object

This is a utility class providing micellaneous MIME-related functionality.


Field Summary
static int ALL
           
 
Method Summary
static java.io.InputStream decode(java.io.InputStream is, java.lang.String encoding)
          Decodes the given input stream.
static java.lang.String decodeText(java.lang.String etext)
          Decodes headers that are defined as '*text' in RFC 822.
static java.lang.String decodeWord(java.lang.String text)
          Decodes the specified string using the RFC 2047 rules for parsing an "encoded-word".
static java.io.OutputStream encode(java.io.OutputStream os, java.lang.String encoding)
          Encodes the given output stream.
static java.io.OutputStream encode(java.io.OutputStream os, java.lang.String encoding, java.lang.String filename)
          Encodes the given output stream.
static java.lang.String encodeText(java.lang.String text)
          Encodes an RFC 822 "text" token into mail-safe form according to RFC 2047.
static java.lang.String encodeText(java.lang.String text, java.lang.String charset, java.lang.String encoding)
          Encodes an RFC 822 "text" token into mail-safe form according to RFC 2047.
static java.lang.String encodeWord(java.lang.String text)
          Encodes an RFC 822 "word" token into mail-safe form according to RFC 2047.
static java.lang.String encodeWord(java.lang.String text, java.lang.String charset, java.lang.String encoding)
          Encodes an RFC 822 "word" token into mail-safe form according to RFC 2047.
static java.lang.String getDefaultJavaCharset()
          Returns the default Java charset.
static java.lang.String getEncoding(DataSource ds)
          Returns the Content-Transfer-Encoding that should be applied to the input stream of this data source, to make it mail safe.
static java.lang.String javaCharset(java.lang.String charset)
          Converts a MIME charset name into a Java charset name.
static java.lang.String mimeCharset(java.lang.String charset)
          Converts a Java charset name into a MIME charset name.
static java.lang.String quote(java.lang.String text, java.lang.String specials)
          Quotes the specified word, if it contains any characters from the given "specials" list.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ALL

public static final int ALL
See Also:
Constant Field Values
Method Detail

getEncoding

public static java.lang.String getEncoding(DataSource ds)
Returns the Content-Transfer-Encoding that should be applied to the input stream of this data source, to make it mail safe.

decode

public static java.io.InputStream decode(java.io.InputStream is,
                                         java.lang.String encoding)
                                  throws MessagingException
Decodes the given input stream. All the encodings defined in RFC 2045 are supported here, including "base64", "quoted-printable", "7bit", "8bit", and "binary". "uuencode" is also supported.

Parameters:
is - the input stream
encoding - the encoding
Returns:
the decoded input stream
Throws:
MessagingException

encode

public static java.io.OutputStream encode(java.io.OutputStream os,
                                          java.lang.String encoding)
                                   throws MessagingException
Encodes the given output stream. All the encodings defined in RFC 2045 are supported here, including "base64", "quoted-printable", "7bit", "8bit" and "binary". "uuencode" is also supported.

Parameters:
os - the output stream
encoding - the encoding
Returns:
an output stream that applies the specified encoding
Throws:
MessagingException

encode

public static java.io.OutputStream encode(java.io.OutputStream os,
                                          java.lang.String encoding,
                                          java.lang.String filename)
                                   throws MessagingException
Encodes the given output stream. All the encodings defined in RFC 2045 are supported here, including "base64", "quoted-printable", "7bit", "8bit" and "binary". "uuencode" is also supported.

Parameters:
os - the output stream
encoding - the encoding
filename - the name for the file being encoded (this is only used with the uuencode encoding)
Returns:
an output stream that applies the specified encoding
Throws:
MessagingException

encodeText

public static java.lang.String encodeText(java.lang.String text)
                                   throws java.io.UnsupportedEncodingException
Encodes an RFC 822 "text" token into mail-safe form according to RFC 2047.

Parameters:
text - the Unicode string
UnsupportedEncodingException - if the encoding fails
Throws:
java.io.UnsupportedEncodingException

encodeText

public static java.lang.String encodeText(java.lang.String text,
                                          java.lang.String charset,
                                          java.lang.String encoding)
                                   throws java.io.UnsupportedEncodingException
Encodes an RFC 822 "text" token into mail-safe form according to RFC 2047.

Parameters:
text - the Unicode string
charset - the charset, or null to use the platform default charset
encoding - the encoding to be used ("B" or "Q")
Throws:
java.io.UnsupportedEncodingException

decodeText

public static java.lang.String decodeText(java.lang.String etext)
                                   throws java.io.UnsupportedEncodingException
Decodes headers that are defined as '*text' in RFC 822.

Parameters:
etext - the possibly encoded value
Throws:
java.io.UnsupportedEncodingException - if the charset conversion failed

encodeWord

public static java.lang.String encodeWord(java.lang.String text)
                                   throws java.io.UnsupportedEncodingException
Encodes an RFC 822 "word" token into mail-safe form according to RFC 2047.

Parameters:
text - the Unicode string
Throws:
java.io.UnsupportedEncodingException - if the encoding fails

encodeWord

public static java.lang.String encodeWord(java.lang.String text,
                                          java.lang.String charset,
                                          java.lang.String encoding)
                                   throws java.io.UnsupportedEncodingException
Encodes an RFC 822 "word" token into mail-safe form according to RFC 2047.

Parameters:
text - the Unicode string
charset - the charset, or null to use the platform default charset
encoding - the encoding to be used ("B" or "Q")
Throws:
java.io.UnsupportedEncodingException - if the encoding fails

decodeWord

public static java.lang.String decodeWord(java.lang.String text)
                                   throws ParseException,
                                          java.io.UnsupportedEncodingException
Decodes the specified string using the RFC 2047 rules for parsing an "encoded-word".

Parameters:
eword - the possibly encoded value
Throws:
ParseException - if the string is not an encoded-word
java.io.UnsupportedEncodingException - if the decoding failed

quote

public static java.lang.String quote(java.lang.String text,
                                     java.lang.String specials)
Quotes the specified word, if it contains any characters from the given "specials" list.

The HeaderTokenizer class defines two "specials" lists, MIME and RFC 822.

Parameters:
word - the word to be quoted
specials - the set of special characters

javaCharset

public static java.lang.String javaCharset(java.lang.String charset)
Converts a MIME charset name into a Java charset name.

Parameters:
charset - the MIME charset name

mimeCharset

public static java.lang.String mimeCharset(java.lang.String charset)
Converts a Java charset name into a MIME charset name.

Parameters:
charset - the Java charset name

getDefaultJavaCharset

public static java.lang.String getDefaultJavaCharset()
Returns the default Java charset.