Class MIMEMessage
java.lang.Object
org.jvnet.mimepull.MIMEMessage
- All Implemented Interfaces:
Closeable, AutoCloseable
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) MIMEConfigprivate intprivate MIMEPartprivate final InputStreamprivate static final Loggerprivate boolean -
Constructor Summary
ConstructorsConstructorDescriptionMIMEMessage(InputStream in, String boundary) MIMEMessage(InputStream in, String boundary, MIMEConfig config) Creates a MIME message from the content's stream. -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes all parsedpartsand cleans up any resources that are held by thisMIMEMessage(for e.g.private voidclose(Collection<MIMEPart> parts) Gets all the attachments by parsing the entire MIME message.private MIMEPartgetDecodedCidPart(String cid) getPart(int index) Creates nth attachment lazily.Creates a lazy attachment for a given Content-ID.booleanParses the MIME message in a pull fashion.final voidparseAll()Parses the whole MIME message eagerly
-
Field Details
-
LOGGER
-
config
MIMEConfig config -
in
-
it
-
parsed
private boolean parsed -
currentPart
-
currentIndex
private int currentIndex -
partsList
-
partsMap
-
-
Constructor Details
-
MIMEMessage
- Parameters:
in- MIME message streamboundary- the separator for parts(pass it without --)- See Also:
-
MIMEMessage
Creates a MIME message from the content's stream. The content stream is closed when EOF is reached.- Parameters:
in- MIME message streamboundary- the separator for parts(pass it without --)config- various configuration parameters
-
-
Method Details
-
getAttachments
-
getPart
Creates nth attachment lazily. It doesn't validate if the message has so many attachments. To do the validation, the message needs to be parsed. The parsing of the message is done lazily and is done while reading the bytes of the part.- Parameters:
index- sequential order of the part. starts with zero.- Returns:
- attachemnt part
-
getPart
Creates a lazy attachment for a given Content-ID. It doesn't validate if the message contains an attachment with the given Content-ID. To do the validation, the message needs to be parsed. The parsing of the message is done lazily and is done while reading the bytes of the part.- Parameters:
contentId- Content-ID of the part, expects Content-ID without<, >- Returns:
- attachemnt part
-
getDecodedCidPart
-
parseAll
public final void parseAll()Parses the whole MIME message eagerly -
close
public void close()Closes all parsedpartsand cleans up any resources that are held by thisMIMEMessage(for e.g. deletes temp files). This method is safe to call even if parsing of message failed.Does not throw
MIMEParsingExceptionif an error occurred during closing a MIME part. The exception (if any) is still logged.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
close
-
makeProgress
public boolean makeProgress()Parses the MIME message in a pull fashion.- Returns:
- false if the parsing is completed.
-