Package org.apache.james.mime4j.util
Class MimeUtil
- java.lang.Object
-
- org.apache.james.mime4j.util.MimeUtil
-
public final class MimeUtil extends Object
A utility class, which provides some MIME related application logic.
-
-
Field Summary
Fields Modifier and Type Field Description static StringENC_7BITThe7bitencoding.static StringENC_8BITThe8bitencoding.static StringENC_BASE64Thebase64encoding.static StringENC_BINARYThebinaryencoding.static StringENC_QUOTED_PRINTABLEThequoted-printableencoding.static DateTimeFormatterRFC822_DATE_FORMAT
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static StringcreateUniqueBoundary()Creates a new unique message boundary string that can be used as boundary parameter for the Content-Type header field of a message.static StringcreateUniqueMessageId(String hostName)Creates a new unique message identifier that can be used in message header field such as Message-ID or In-Reply-To.static Stringfold(String s, int usedCharacters)Splits the specified string into a multiple-line representation with lines no longer than 76 characters (because the line might contain encoded words; see RFC 2047 section 2).static StringformatDate(Date date, TimeZone zone)Formats the specified date into a RFC 822 date-time string.static booleanisBase64Encoding(String pTransferEncoding)Returns, whether the given transfer-encoding is "base64".static booleanisMessage(String pMimeType)Returns true, if the given MIME type is that of a message.static booleanisMultipart(String pMimeType)Return true, if the given MIME type indicates a multipart entity.static booleanisQuotedPrintableEncoded(String pTransferEncoding)Returns, whether the given transfer-encoding is "quoted-printable".static booleanisSameMimeType(String pType1, String pType2)Returns, whether the given two MIME types are identical.static Stringunfold(String s)Unfold a multiple-line representation into a single line.static StringunscrambleHeaderValue(String headerValue)Unfold and decode header value
-
-
-
Field Detail
-
ENC_QUOTED_PRINTABLE
public static final String ENC_QUOTED_PRINTABLE
Thequoted-printableencoding.- See Also:
- Constant Field Values
-
ENC_BINARY
public static final String ENC_BINARY
Thebinaryencoding.- See Also:
- Constant Field Values
-
ENC_BASE64
public static final String ENC_BASE64
Thebase64encoding.- See Also:
- Constant Field Values
-
ENC_8BIT
public static final String ENC_8BIT
The8bitencoding.- See Also:
- Constant Field Values
-
ENC_7BIT
public static final String ENC_7BIT
The7bitencoding.- See Also:
- Constant Field Values
-
RFC822_DATE_FORMAT
public static final DateTimeFormatter RFC822_DATE_FORMAT
-
-
Method Detail
-
isSameMimeType
public static boolean isSameMimeType(String pType1, String pType2)
Returns, whether the given two MIME types are identical.
-
isMessage
public static boolean isMessage(String pMimeType)
Returns true, if the given MIME type is that of a message.
-
isMultipart
public static boolean isMultipart(String pMimeType)
Return true, if the given MIME type indicates a multipart entity.
-
isBase64Encoding
public static boolean isBase64Encoding(String pTransferEncoding)
Returns, whether the given transfer-encoding is "base64".
-
isQuotedPrintableEncoded
public static boolean isQuotedPrintableEncoded(String pTransferEncoding)
Returns, whether the given transfer-encoding is "quoted-printable".
-
createUniqueBoundary
public static String createUniqueBoundary()
Creates a new unique message boundary string that can be used as boundary parameter for the Content-Type header field of a message.- Returns:
- a new unique message boundary string.
-
createUniqueMessageId
public static String createUniqueMessageId(String hostName)
Creates a new unique message identifier that can be used in message header field such as Message-ID or In-Reply-To. If the given host name is notnullit will be used as suffix for the message ID (following an at sign). The resulting string is enclosed in angle brackets (< and >);- Parameters:
hostName- host name to be included in the message ID ornullif no host name should be included.- Returns:
- a new unique message identifier.
-
formatDate
public static String formatDate(Date date, TimeZone zone)
Formats the specified date into a RFC 822 date-time string.- Parameters:
date- date to be formatted into a string.zone- the time zone to use ornullto use the default time zone.- Returns:
- the formatted time string.
-
fold
public static String fold(String s, int usedCharacters)
Splits the specified string into a multiple-line representation with lines no longer than 76 characters (because the line might contain encoded words; see RFC 2047 section 2). If the string contains non-whitespace sequences longer than 76 characters a line break is inserted at the whitespace character following the sequence resulting in a line longer than 76 characters.- Parameters:
s- string to split.usedCharacters- number of characters already used up. Usually the number of characters for header field name plus colon and one space.- Returns:
- a multiple-line representation of the given string.
-
unfold
public static String unfold(String s)
Unfold a multiple-line representation into a single line.- Parameters:
s- string to unfold.- Returns:
- unfolded string.
-
-