Package org.apache.james.mime4j.message
Class BasicBodyFactory
- java.lang.Object
-
- org.apache.james.mime4j.message.BasicBodyFactory
-
- All Implemented Interfaces:
BodyFactory
public class BasicBodyFactory extends java.lang.Object implements BodyFactory
Factory for creating message bodies.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
BasicBodyFactory.BinaryBody1
(package private) static class
BasicBodyFactory.BinaryBody2
(package private) static class
BasicBodyFactory.BinaryBody3
(package private) static class
BasicBodyFactory.StringBody1
(package private) static class
BasicBodyFactory.StringBody2
(package private) static class
BasicBodyFactory.StringBody3
-
Field Summary
Fields Modifier and Type Field Description private java.nio.charset.Charset
defaultCharset
static BasicBodyFactory
INSTANCE
-
Constructor Summary
Constructors Constructor Description BasicBodyFactory()
BasicBodyFactory(boolean lenient)
BasicBodyFactory(java.nio.charset.Charset defaultCharset)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BinaryBody
binaryBody(byte[] buf)
BinaryBody
binaryBody(java.io.InputStream is)
Creates aBinaryBody
that holds the content of the given input stream.BinaryBody
binaryBody(java.lang.String content, java.nio.charset.Charset charset)
java.nio.charset.Charset
getDefaultCharset()
protected java.nio.charset.Charset
resolveCharset(java.lang.String mimeCharset)
Select the Charset for the givenmimeCharset
string.TextBody
textBody(byte[] content, java.nio.charset.Charset charset)
TextBody
textBody(java.io.InputStream content, java.lang.String mimeCharset)
Creates aTextBody
that holds the content of the given input stream.TextBody
textBody(java.lang.String text)
TextBody
textBody(java.lang.String text, java.lang.String mimeCharset)
TextBody
textBody(java.lang.String text, java.nio.charset.Charset charset)
-
-
-
Field Detail
-
INSTANCE
public static final BasicBodyFactory INSTANCE
-
defaultCharset
private final java.nio.charset.Charset defaultCharset
-
-
Method Detail
-
getDefaultCharset
public java.nio.charset.Charset getDefaultCharset()
- Returns:
- the defaultCharset
-
resolveCharset
protected java.nio.charset.Charset resolveCharset(java.lang.String mimeCharset) throws java.io.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 derivedBodyFactory
extendingBasicBodyFactory
and overriding this method as suggested by MIME4J-218The default behavior is lenient, invalid
mimeCharset
specifications will return thedefaultCharset
.- Parameters:
mimeCharset
- - the string specification for a Charset e.g. "UTF-8"- Throws:
java.io.UnsupportedEncodingException
- if the mimeCharset is invalid
-
textBody
public TextBody textBody(java.lang.String text, java.lang.String mimeCharset) throws java.io.UnsupportedEncodingException
- Throws:
java.io.UnsupportedEncodingException
-
textBody
public TextBody textBody(byte[] content, java.nio.charset.Charset charset)
-
textBody
public TextBody textBody(java.io.InputStream content, java.lang.String mimeCharset) throws java.io.IOException
Description copied from interface:BodyFactory
Creates aTextBody
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 interfaceBodyFactory
- Parameters:
content
- input stream to create a message body from.mimeCharset
- name of a MIME charset.- Returns:
- a text body.
- Throws:
java.io.IOException
- if an I/O error occurs.
-
textBody
public TextBody textBody(java.lang.String text, java.nio.charset.Charset charset)
-
textBody
public TextBody textBody(java.lang.String text)
-
binaryBody
public BinaryBody binaryBody(java.lang.String content, java.nio.charset.Charset charset)
-
binaryBody
public BinaryBody binaryBody(java.io.InputStream is) throws java.io.IOException
Description copied from interface:BodyFactory
Creates aBinaryBody
that holds the content of the given input stream.- Specified by:
binaryBody
in interfaceBodyFactory
- Parameters:
is
- input stream to create a message body from.- Returns:
- a binary body.
- Throws:
java.io.IOException
- if an I/O error occurs.
-
binaryBody
public BinaryBody binaryBody(byte[] buf)
-
-