Class Fields

java.lang.Object
org.apache.james.mime4j.field.Fields

public class Fields extends Object
Factory for concrete Field instances.
  • Field Details

    • FIELD_NAME_PATTERN

      private static final Pattern FIELD_NAME_PATTERN
  • Constructor Details

    • Fields

      private Fields()
  • Method Details

    • version

      public static MimeVersionField version(String ver)
    • contentType

      public static ContentTypeField contentType(String contentType)
      Creates a Content-Type field from the specified raw field value. The specified string gets folded into a multiple-line representation if necessary but is otherwise taken as is.
      Parameters:
      contentType - raw content type containing a MIME type and optional parameters.
      Returns:
      the newly created Content-Type field.
    • contentType

      public static ContentTypeField contentType(String mimeType, Map<String,String> parameters)
      Creates a Content-Type field from the specified MIME type and parameters.
      Parameters:
      mimeType - a MIME type (such as "text/plain" or "application/octet-stream").
      parameters - map containing content-type parameters such as "boundary".
      Returns:
      the newly created Content-Type field.
    • contentType

      public static ContentTypeField contentType(String mimeType, Iterable<NameValuePair> parameters)
      Creates a Content-Type field from the specified MIME type and parameters.
      Parameters:
      mimeType - a MIME type (such as "text/plain" or "application/octet-stream").
      parameters - list of content-type parameter name/value pairs.
      Returns:
      the newly created Content-Type field.
    • contentType

      public static ContentTypeField contentType(String mimeType, NameValuePair... parameters)
      Creates a Content-Type field from the specified MIME type and parameters.
      Parameters:
      mimeType - a MIME type (such as "text/plain" or "application/octet-stream").
      parameters - array of content-type parameter name/value pairs.
      Returns:
      the newly created Content-Type field.
    • contentTransferEncoding

      public static ContentTransferEncodingField contentTransferEncoding(String contentTransferEncoding)
      Creates a Content-Transfer-Encoding field from the specified raw field value.
      Parameters:
      contentTransferEncoding - an encoding mechanism such as "7-bit" or "quoted-printable".
      Returns:
      the newly created Content-Transfer-Encoding field.
    • contentDisposition

      public static ContentDispositionField contentDisposition(String contentDisposition)
      Creates a Content-Disposition field from the specified raw field value. The specified string gets folded into a multiple-line representation if necessary but is otherwise taken as is.
      Parameters:
      contentDisposition - raw content disposition containing a disposition type and optional parameters.
      Returns:
      the newly created Content-Disposition field.
    • contentDisposition

      public static ContentDispositionField contentDisposition(String dispositionType, Map<String,String> parameters)
      Creates a Content-Disposition field from the specified disposition type and parameters.
      Parameters:
      dispositionType - a disposition type (usually "inline" or "attachment").
      parameters - map containing disposition parameters such as "filename".
      Returns:
      the newly created Content-Disposition field.
    • contentDisposition

      public static ContentDispositionField contentDisposition(String dispositionType, Iterable<NameValuePair> parameters)
      Creates a Content-Disposition field from the specified disposition type and parameters.
      Parameters:
      dispositionType - a disposition type (usually "inline" or "attachment").
      parameters - list of disposition parameter name/value pairs.
      Returns:
      the newly created Content-Disposition field.
    • contentDisposition

      public static ContentDispositionField contentDisposition(String dispositionType, String filename)
      Creates a Content-Disposition field from the specified disposition type and filename.
      Parameters:
      dispositionType - a disposition type (usually "inline" or "attachment").
      filename - filename parameter value or null if the parameter should not be included.
      Returns:
      the newly created Content-Disposition field.
    • contentDisposition

      public static ContentDispositionField contentDisposition(String dispositionType, String filename, long size)
      Creates a Content-Disposition field from the specified values.
      Parameters:
      dispositionType - a disposition type (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.
      Returns:
      the newly created Content-Disposition field.
    • contentDisposition

      public static ContentDispositionField contentDisposition(String dispositionType, String filename, long size, Date creationDate, Date modificationDate, Date readDate)
      Creates a Content-Disposition field from the specified values.
      Parameters:
      dispositionType - a disposition type (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.
      Returns:
      the newly created Content-Disposition field.
    • date

      public static DateTimeField date(Date date)
      Creates a Date field from the specified Date value. The default time zone of the host is used to format the date.
      Parameters:
      date - date value for the header field.
      Returns:
      the newly created Date field.
    • date

      public static DateTimeField date(String fieldName, Date date)
      Creates a date field from the specified field name and Date value. The default time zone of the host is used to format the date.
      Parameters:
      fieldName - a field name such as Date or Resent-Date.
      date - date value for the header field.
      Returns:
      the newly created date field.
    • date

      public static DateTimeField date(String fieldName, Date date, TimeZone zone)
      Creates a date field from the specified field name, Date and TimeZone values.
      Parameters:
      fieldName - a field name such as Date or Resent-Date.
      date - date value for the header field.
      zone - the time zone to be used for formatting the date.
      Returns:
      the newly created date field.
    • generateMessageId

      public static UnstructuredField generateMessageId(String hostname)
      Creates a Message-ID field for the specified host name.
      Parameters:
      hostname - host name to be included in the message ID or null if no host name should be included.
      Returns:
      the newly created Message-ID field.
    • messageId

      public static UnstructuredField messageId(String messageId)
      Creates a Message-ID field with the given message ID.
      Parameters:
      messageId - message ID value.
    • subject

      public static UnstructuredField subject(String subject)
      Creates a Subject field from the specified string value. The specified string may contain non-ASCII characters.
      Parameters:
      subject - the subject string.
      Returns:
      the newly created Subject field.
    • sender

      public static MailboxField sender(Mailbox mailbox)
      Creates a Sender field for the specified mailbox address.
      Parameters:
      mailbox - address to be included in the field.
      Returns:
      the newly created Sender field.
    • from

      public static MailboxListField from(Mailbox mailbox)
      Creates a From field for the specified mailbox address.
      Parameters:
      mailbox - address to be included in the field.
      Returns:
      the newly created From field.
    • from

      public static MailboxListField from(Mailbox... mailboxes)
      Creates a From field for the specified mailbox addresses.
      Parameters:
      mailboxes - addresses to be included in the field.
      Returns:
      the newly created From field.
    • from

      public static MailboxListField from(Iterable<Mailbox> mailboxes)
      Creates a From field for the specified mailbox addresses.
      Parameters:
      mailboxes - addresses to be included in the field.
      Returns:
      the newly created From field.
    • to

      public static AddressListField to(Address address)
      Creates a To field for the specified mailbox or group address.
      Parameters:
      address - mailbox or group address to be included in the field.
      Returns:
      the newly created To field.
    • to

      public static AddressListField to(Address... addresses)
      Creates a To field for the specified mailbox or group addresses.
      Parameters:
      addresses - mailbox or group addresses to be included in the field.
      Returns:
      the newly created To field.
    • to

      public static AddressListField to(Iterable<Address> addresses)
      Creates a To field for the specified mailbox or group addresses.
      Parameters:
      addresses - mailbox or group addresses to be included in the field.
      Returns:
      the newly created To field.
    • cc

      public static AddressListField cc(Address address)
      Creates a Cc field for the specified mailbox or group address.
      Parameters:
      address - mailbox or group address to be included in the field.
      Returns:
      the newly created Cc field.
    • cc

      public static AddressListField cc(Address... addresses)
      Creates a Cc field for the specified mailbox or group addresses.
      Parameters:
      addresses - mailbox or group addresses to be included in the field.
      Returns:
      the newly created Cc field.
    • cc

      public static AddressListField cc(Iterable<Address> addresses)
      Creates a Cc field for the specified mailbox or group addresses.
      Parameters:
      addresses - mailbox or group addresses to be included in the field.
      Returns:
      the newly created Cc field.
    • bcc

      public static AddressListField bcc(Address address)
      Creates a Bcc field for the specified mailbox or group address.
      Parameters:
      address - mailbox or group address to be included in the field.
      Returns:
      the newly created Bcc field.
    • bcc

      public static AddressListField bcc(Address... addresses)
      Creates a Bcc field for the specified mailbox or group addresses.
      Parameters:
      addresses - mailbox or group addresses to be included in the field.
      Returns:
      the newly created Bcc field.
    • bcc

      public static AddressListField bcc(Iterable<Address> addresses)
      Creates a Bcc field for the specified mailbox or group addresses.
      Parameters:
      addresses - mailbox or group addresses to be included in the field.
      Returns:
      the newly created Bcc field.
    • replyTo

      public static AddressListField replyTo(Address address)
      Creates a Reply-To field for the specified mailbox or group address.
      Parameters:
      address - mailbox or group address to be included in the field.
      Returns:
      the newly created Reply-To field.
    • replyTo

      public static AddressListField replyTo(Address... addresses)
      Creates a Reply-To field for the specified mailbox or group addresses.
      Parameters:
      addresses - mailbox or group addresses to be included in the field.
      Returns:
      the newly created Reply-To field.
    • replyTo

      public static AddressListField replyTo(Iterable<Address> addresses)
      Creates a Reply-To field for the specified mailbox or group addresses.
      Parameters:
      addresses - mailbox or group addresses to be included in the field.
      Returns:
      the newly created Reply-To field.
    • mailbox

      public static MailboxField mailbox(String fieldName, Mailbox mailbox)
      Creates a mailbox field from the specified field name and mailbox address. Valid field names are Sender and Resent-Sender.
      Parameters:
      fieldName - the name of the mailbox field (Sender or Resent-Sender).
      mailbox - mailbox address for the field value.
      Returns:
      the newly created mailbox field.
    • mailboxList

      public static MailboxListField mailboxList(String fieldName, Iterable<Mailbox> mailboxes)
      Creates a mailbox-list field from the specified field name and mailbox addresses. Valid field names are From and Resent-From.
      Parameters:
      fieldName - the name of the mailbox field (From or Resent-From).
      mailboxes - mailbox addresses for the field value.
      Returns:
      the newly created mailbox-list field.
    • addressList

      public static AddressListField addressList(String fieldName, Iterable<? extends Address> addresses)
      Creates an address-list field from the specified field name and mailbox or group addresses. Valid field names are To, Cc, Bcc, Reply-To, Resent-To, Resent-Cc and Resent-Bcc.
      Parameters:
      fieldName - the name of the mailbox field (To, Cc, Bcc, Reply-To, Resent-To, Resent-Cc or Resent-Bcc).
      addresses - mailbox or group addresses for the field value.
      Returns:
      the newly created address-list field.
    • date0

      private static DateTimeField date0(String fieldName, Date date, TimeZone zone)
    • mailbox0

      private static MailboxField mailbox0(String fieldName, Mailbox mailbox)
    • mailboxList0

      private static MailboxListField mailboxList0(String fieldName, Iterable<Mailbox> mailboxes)
    • addressList0

      private static AddressListField addressList0(String fieldName, Iterable<? extends Address> addresses)
    • checkValidFieldName

      private static void checkValidFieldName(String fieldName)
    • isValidMimeType

      private static boolean isValidMimeType(String mimeType)
    • isValidDispositionType

      private static boolean isValidDispositionType(String dispositionType)
    • parse

      private static <F extends ParsedField> F parse(FieldParser<F> parser, String fieldName, String fieldBody)
    • encodeAddresses

      private static String encodeAddresses(Iterable<? extends Address> addresses)