Class BasicBodyFactory

  • All Implemented Interfaces:
    BodyFactory

    public class BasicBodyFactory
    extends Object
    implements BodyFactory
    Factory for creating message bodies.
    • Constructor Detail

      • BasicBodyFactory

        public BasicBodyFactory()
      • BasicBodyFactory

        public BasicBodyFactory​(Charset defaultCharset)
      • BasicBodyFactory

        public BasicBodyFactory​(boolean lenient)
    • Method Detail

      • 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​(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.
      • binaryBody

        public BinaryBody binaryBody​(byte[] buf)