Interface MimePart

  • All Superinterfaces:
    Part
    All Known Implementing Classes:
    IMAPBodyPart, IMAPMessage, MaildirMessage, MboxMessage, MimeBodyPart, MimeMessage, NNTPMessage, POP3Message, gnu.mail.providers.ReadOnlyMessage

    public interface MimePart
    extends Part
    A MIME part is an Entity as defined by MIME (RFC2045, Section 2.4).

    The string representation of RFC822 and MIME header fields must contain only US-ASCII characters. Non US-ASCII characters must be encoded as per the rules in RFC 2047. This class does not enforce those rules; the caller is expected to use MimeUtility to ensure that header values are correctly encoded.

    Version:
    1.4
    Author:
    Chris Burdess
    • Method Detail

      • getHeader

        java.lang.String getHeader​(java.lang.String header_name,
                                   java.lang.String delimiter)
                            throws MessagingException
        Returns the values of all header fields for the specified name, returned as a single String with the values separated by the given delimiter. If the delimiter is null, only the first value is returned.
        Parameters:
        header_name - the header name
        Throws:
        MessagingException
      • addHeaderLine

        void addHeaderLine​(java.lang.String line)
                    throws MessagingException
        Adds an RFC822 header-line.
        Throws:
        IllegalWriteException - if the underlying implementation does not support modification
        java.lang.IllegalStateException - if this part is obtained from a READ_ONLY folder
        MessagingException
      • getAllHeaderLines

        java.util.Enumeration getAllHeaderLines()
                                         throws MessagingException
        Returns all the header-lines.
        Returns:
        an Enumeration of Strings
        Throws:
        MessagingException
      • getMatchingHeaderLines

        java.util.Enumeration getMatchingHeaderLines​(java.lang.String[] names)
                                              throws MessagingException
        Returns all the header-lines with any of the given names.
        Returns:
        an Enumeration of Strings
        Throws:
        MessagingException
      • getNonMatchingHeaderLines

        java.util.Enumeration getNonMatchingHeaderLines​(java.lang.String[] names)
                                                 throws MessagingException
        Returns all the header-lines without any of the given names.
        Returns:
        an Enumeration of Strings
        Throws:
        MessagingException
      • setContentMD5

        void setContentMD5​(java.lang.String md5)
                    throws MessagingException
        Sets the Content-MD5 header value for this part.
        Parameters:
        IllegalStateException - if this part is obtained from a READ_ONLY folder
        Throws:
        IllegalWriteException - if the underlying implementation does not support modification
        MessagingException
      • getContentLanguage

        java.lang.String[] getContentLanguage()
                                       throws MessagingException
        Returns the languages specified in the Content-Language header of this part, as defined by RFC 1766. This method returns null if this header is not available.
        Throws:
        MessagingException
      • setContentLanguage

        void setContentLanguage​(java.lang.String[] languages)
                         throws MessagingException
        Sets the Content-Language header of this part.
        Parameters:
        languages - the array of language tags
        Throws:
        IllegalWriteException - if the underlying implementation does not support modification
        java.lang.IllegalStateException - if this Part is obtained from a READ_ONLY folder
        MessagingException
      • setText

        void setText​(java.lang.String text)
              throws MessagingException
        Sets the content of this message using the specified text, and with a MIME type of "text/plain".

        If the string contains non US-ASCII characters, it will be encoded using the platform default charset.

        Specified by:
        setText in interface Part
        Parameters:
        text - the text content
        Throws:
        IllegalWriteException - if the underlying implementation does not support modification
        MessagingException
      • setText

        void setText​(java.lang.String text,
                     java.lang.String charset)
              throws MessagingException
        Sets the content of this message using the specified text, and with a MIME type of "text/plain".

        If the string contains non US-ASCII characters, it will be encoded using the specified charset.

        Parameters:
        text - the text content
        charset - the charset to use for any encoding
        Throws:
        MessagingException
      • setText

        void setText​(java.lang.String text,
                     java.lang.String charset,
                     java.lang.String subtype)
              throws MessagingException
        Sets the content of this message using the specified text, and with a text MIME type of the specified subtype.

        If the string contains non US-ASCII characters, it will be encoded using the specified charset.

        Parameters:
        text - the text content
        charset - the charset to use for any encoding
        subtype - the MIME text subtype (e.g. "plain", "html")
        Throws:
        MessagingException
        Since:
        JavaMail 1.4