Class Message.Builder

    • Method Detail

      • setField

        public Message.Builder setField​(Field field)
        Description copied from class: AbstractEntityBuilder
        Sets or replaces a field. This method is useful for header fields such as Subject or Message-ID that should not occur more than once in a message. If this builder does not already contain a header field of the same name as the given field then it is added to the end of the list of fields (same behavior as AbstractEntityBuilder.addField(org.apache.james.mime4j.stream.Field)). Otherwise the first occurrence of a field with the same name is replaced by the given field and all further occurrences are removed.
        Overrides:
        setField in class AbstractEntityBuilder
        Parameters:
        field - the field to set.
      • setContentDisposition

        public Message.Builder setContentDisposition​(String dispositionType)
        Description copied from class: AbstractEntityBuilder
        Sets content disposition of this message to the specified disposition type. No filename, size or date parameters are included in the content disposition.
        Overrides:
        setContentDisposition in class AbstractEntityBuilder
        Parameters:
        dispositionType - disposition type value (usually inline or attachment).
      • setContentDisposition

        public Message.Builder setContentDisposition​(String dispositionType,
                                                     String filename)
        Description copied from class: AbstractEntityBuilder
        Sets content disposition of this message to the specified disposition type and filename. No size or date parameters are included in the content disposition.
        Overrides:
        setContentDisposition in class AbstractEntityBuilder
        Parameters:
        dispositionType - disposition type value (usually inline or attachment).
        filename - filename parameter value or null if the parameter should not be included.
      • setContentDisposition

        public Message.Builder setContentDisposition​(String dispositionType,
                                                     String filename,
                                                     long size)
        Description copied from class: AbstractEntityBuilder
        Sets content disposition of this message to the specified values. No date parameters are included in the content disposition.
        Overrides:
        setContentDisposition in class AbstractEntityBuilder
        Parameters:
        dispositionType - disposition type value (usually inline or attachment).
        filename - filename parameter value or null if the parameter should not be included.
        size - size parameter value or -1 if the parameter should not be included.
      • setContentDisposition

        public Message.Builder setContentDisposition​(String dispositionType,
                                                     String filename,
                                                     long size,
                                                     Date creationDate,
                                                     Date modificationDate,
                                                     Date readDate)
        Description copied from class: AbstractEntityBuilder
        Sets content disposition of this message to the specified values.
        Overrides:
        setContentDisposition in class AbstractEntityBuilder
        Parameters:
        dispositionType - disposition type value (usually inline or attachment).
        filename - filename parameter value or null if the parameter should not be included.
        size - size parameter value or -1 if the parameter should not be included.
        creationDate - creation-date parameter value or null if the parameter should not be included.
        modificationDate - modification-date parameter value or null if the parameter should not be included.
        readDate - read-date parameter value or null if the parameter should not be included.
      • setBody

        public Message.Builder setBody​(String text,
                                       String subtype,
                                       Charset charset)
                                throws IOException
        Sets text of this message with the given MIME subtype and charset.
        Parameters:
        text - the text.
        charset - the charset of the text.
        subtype - the text subtype (e.g. "plain", "html" or "xml").
        Throws:
        IOException
      • setBody

        public Message.Builder setBody​(byte[] bin,
                                       String mimeType)
                                throws IOException
        Sets binary content of this message with the given MIME type.
        Parameters:
        bin - the body.
        mimeType - the MIME media type of the specified body ("type/subtype").
        Throws:
        IOException
      • getMessageId

        public String getMessageId()
        Returns the value of the Message-ID header field of this message or null if it is not present.
        Returns:
        the identifier of this message.
      • generateMessageId

        public Message.Builder generateMessageId​(String hostname)
        Generates and sets message ID for this message.
        Parameters:
        hostname - host name to be included in the identifier or null if no host name should be included.
      • setMessageId

        public Message.Builder setMessageId​(String messageId)
        Sets message ID for this message.
        Parameters:
        messageId - the message ID.
      • getSubject

        public String getSubject()
        Returns the (decoded) value of the Subject header field of this message or null if it is not present.
        Returns:
        the subject of this message.
      • setSubject

        public Message.Builder setSubject​(String subject)
        Sets Subject header field for this message. The specified string may contain non-ASCII characters, in which case it gets encoded as an 'encoded-word' automatically.
        Parameters:
        subject - subject to set or null to remove the subject header field.
      • getDate

        public Date getDate()
        Returns the value of the Date header field of this message as Date object or null if it is not present.
        Returns:
        the date of this message.
      • setDate

        public Message.Builder setDate​(Date date)
        Sets Date header field for this message. This method uses the default TimeZone of this host to encode the specified Date object into a string.
        Parameters:
        date - date to set or null to remove the date header field.
      • setDate

        public Message.Builder setDate​(Date date,
                                       TimeZone zone)
        Sets Date header field for this message. The specified TimeZone is used to encode the specified Date object into a string.
        Parameters:
        date - date to set or null to remove the date header field.
        zone - a time zone.
      • getSender

        public Mailbox getSender()
        Returns the value of the Sender header field of this message as Mailbox object or null if it is not present.
        Returns:
        the sender of this message.
      • setSender

        public Message.Builder setSender​(Mailbox sender)
        Sets Sender header field of this message to the specified mailbox address.
        Parameters:
        sender - address to set or null to remove the header field.
      • setSender

        public Message.Builder setSender​(String sender)
                                  throws ParseException
        Sets Sender header field of this message to the specified mailbox address.
        Parameters:
        sender - address to set or null to remove the header field.
        Throws:
        ParseException
      • getFrom

        public MailboxList getFrom()
        Returns the value of the From header field of this message as MailboxList object or null if it is not present.
        Returns:
        value of the from field of this message.
      • setFrom

        public Message.Builder setFrom​(Mailbox from)
        Sets From header field of this message to the specified mailbox address.
        Parameters:
        from - address to set or null to remove the header field.
      • setFrom

        public Message.Builder setFrom​(String from)
                                throws ParseException
        Sets From header field of this message to the specified mailbox address.
        Parameters:
        from - address to set or null to remove the header field.
        Throws:
        ParseException
      • setFrom

        public Message.Builder setFrom​(Mailbox... from)
        Sets From header field of this message to the specified mailbox addresses.
        Parameters:
        from - addresses to set or null or no arguments to remove the header field.
      • setFrom

        public Message.Builder setFrom​(String... from)
                                throws ParseException
        Sets From header field of this message to the specified mailbox addresses.
        Parameters:
        from - addresses to set or null or no arguments to remove the header field.
        Throws:
        ParseException
      • setFrom

        public Message.Builder setFrom​(Collection<Mailbox> from)
        Sets From header field of this message to the specified mailbox addresses.
        Parameters:
        from - addresses to set or null or an empty collection to remove the header field.
      • getTo

        public AddressList getTo()
        Returns the value of the To header field of this message as AddressList object or null if it is not present.
        Returns:
        value of the to field of this message.
      • setTo

        public Message.Builder setTo​(Address to)
        Sets To header field of this message to the specified address.
        Parameters:
        to - address to set or null to remove the header field.
      • setTo

        public Message.Builder setTo​(Address... to)
        Sets To header field of this message to the specified addresses.
        Parameters:
        to - addresses to set or null or no arguments to remove the header field.
      • setTo

        public Message.Builder setTo​(String... to)
                              throws ParseException
        Sets To header field of this message to the specified addresses.
        Parameters:
        to - addresses to set or null or no arguments to remove the header field.
        Throws:
        ParseException
      • setTo

        public Message.Builder setTo​(Collection<? extends Address> to)
        Sets To header field of this message to the specified addresses.
        Parameters:
        to - addresses to set or null or an empty collection to remove the header field.
      • getCc

        public AddressList getCc()
        Returns the value of the Cc header field of this message as AddressList object or null if it is not present.
        Returns:
        value of the cc field of this message.
      • setCc

        public Message.Builder setCc​(Address cc)
        Sets Cc header field of this message to the specified address.
        Parameters:
        cc - address to set or null to remove the header field.
      • setCc

        public Message.Builder setCc​(Address... cc)
        Sets Cc header field of this message to the specified addresses.
        Parameters:
        cc - addresses to set or null or no arguments to remove the header field.
      • setCc

        public Message.Builder setCc​(Collection<? extends Address> cc)
        Sets Cc header field of this message to the specified addresses.
        Parameters:
        cc - addresses to set or null or an empty collection to remove the header field.
      • getBcc

        public AddressList getBcc()
        Returns the value of the Bcc header field of this message as AddressList object or null if it is not present.
        Returns:
        value of the bcc field of this message.
      • setBcc

        public Message.Builder setBcc​(Address bcc)
        Sets Bcc header field of this message to the specified address.
        Parameters:
        bcc - address to set or null to remove the header field.
      • setBcc

        public Message.Builder setBcc​(Address... bcc)
        Sets Bcc header field of this message to the specified addresses.
        Parameters:
        bcc - addresses to set or null or no arguments to remove the header field.
      • setBcc

        public Message.Builder setBcc​(Collection<? extends Address> bcc)
        Sets Bcc header field of this message to the specified addresses.
        Parameters:
        bcc - addresses to set or null or an empty collection to remove the header field.
      • getReplyTo

        public AddressList getReplyTo()
        Returns the value of the Reply-To header field of this message as AddressList object or null if it is not present.
        Returns:
        value of the reply to field of this message.
      • setReplyTo

        public Message.Builder setReplyTo​(Address replyTo)
        Sets Reply-To header field of this message to the specified address.
        Parameters:
        replyTo - address to set or null to remove the header field.
      • setReplyTo

        public Message.Builder setReplyTo​(Address... replyTo)
        Sets Reply-To header field of this message to the specified addresses.
        Parameters:
        replyTo - addresses to set or null or no arguments to remove the header field.
      • setReplyTo

        public Message.Builder setReplyTo​(Collection<? extends Address> replyTo)
        Sets Reply-To header field of this message to the specified addresses.
        Parameters:
        replyTo - addresses to set or null or an empty collection to remove the header field.