Class BasicBodyFactory

java.lang.Object
org.apache.james.mime4j.message.BasicBodyFactory
All Implemented Interfaces:
BodyFactory

public class BasicBodyFactory extends Object implements BodyFactory
Factory for creating message bodies.
  • Field Details

  • Constructor Details

    • BasicBodyFactory

      public BasicBodyFactory()
    • BasicBodyFactory

      public BasicBodyFactory(Charset defaultCharset)
    • BasicBodyFactory

      public BasicBodyFactory(boolean lenient)
  • Method Details

    • getDefaultCharset

      public Charset getDefaultCharset()
      Returns:
      the defaultCharset
    • resolveCharset

      protected Charset resolveCharset(String mimeCharset) throws UnsupportedEncodingException

      Select the Charset for the given mimeCharset string.

      If you need support for non standard or invalid mimeCharset specifications you might want to create your own derived BodyFactory extending BasicBodyFactory and overriding this method as suggested by MIME4J-218

      The default behavior is lenient, invalid mimeCharset specifications will return the defaultCharset.

      Parameters:
      mimeCharset - - the string specification for a Charset e.g. "UTF-8"
      Throws:
      UnsupportedEncodingException - if the mimeCharset is invalid
    • textBody

      public TextBody textBody(String text, String mimeCharset) throws UnsupportedEncodingException
      Throws:
      UnsupportedEncodingException
    • textBody

      public TextBody textBody(byte[] content, Charset charset)
    • textBody

      public TextBody textBody(InputStream content, String mimeCharset) throws IOException
      Description copied from interface: BodyFactory
      Creates a TextBody that holds the content of the given input stream.

      The charset corresponding to the given MIME charset name is used to decode the byte content of the input stream into a character stream when calling getReader() on the returned object. If the MIME charset has no corresponding Java charset or the Java charset cannot be used for decoding then "us-ascii" is used instead.

      Specified by:
      textBody in interface BodyFactory
      Parameters:
      content - input stream to create a message body from.
      mimeCharset - name of a MIME charset.
      Returns:
      a text body.
      Throws:
      IOException - if an I/O error occurs.
    • textBody

      public TextBody textBody(String text, Charset charset)
    • textBody

      public TextBody textBody(String text)
    • binaryBody

      public BinaryBody binaryBody(String content, Charset charset)
    • binaryBody

      public BinaryBody binaryBody(InputStream is) throws IOException
      Description copied from interface: BodyFactory
      Creates a BinaryBody that holds the content of the given input stream.
      Specified by:
      binaryBody in interface BodyFactory
      Parameters:
      is - input stream to create a message body from.
      Returns:
      a binary body.
      Throws:
      IOException - if an I/O error occurs.
    • binaryBody

      public BinaryBody binaryBody(byte[] buf)