|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface ContentHandler
Receives notifications of the content of a plain RFC822 or MIME message.
Implement this interface and register an instance of that implementation
with a MimeStreamParser instance using its
MimeStreamParser.setContentHandler(ContentHandler)
method. The parser uses the ContentHandler instance to report
basic message-related events like the start and end of the body of a
part in a multipart MIME entity.
Events will be generated in the order the corresponding elements occur in the message stream parsed by the parser. E.g.:
startMessage()
startHeader()
field(...)
field(...)
...
endHeader()
startMultipart()
preamble(...)
startBodyPart()
startHeader()
field(...)
field(...)
...
endHeader()
body()
endBodyPart()
startBodyPart()
startHeader()
field(...)
field(...)
...
endHeader()
body()
endBodyPart()
epilogue(...)
endMultipart()
endMessage()
The above shows an example of a MIME message consisting of a multipart
body containing two body parts.
See MIME RFCs 2045-2049 for more information on the structure of MIME messages and RFC 822 and 2822 for the general structure of Internet mail messages.
| Method Summary | |
|---|---|
void |
body(BodyDescriptor bd,
java.io.InputStream is)
Called when the body of a discrete (non-multipart) entity is about to be parsed. |
void |
endBodyPart()
Called when a body part ends. |
void |
endHeader()
Called when there are no more header fields in a message or body part. |
void |
endMessage()
Called when a message ends. |
void |
endMultipart()
Called when the body of an entity has been parsed. |
void |
epilogue(java.io.InputStream is)
Called for the epilogue (whatever comes after the final body part) of a multipart/* entity. |
void |
field(java.lang.String fieldData)
Called for each field of a header. |
void |
preamble(java.io.InputStream is)
Called for the preamble (whatever comes before the first body part) of a multipart/* entity. |
void |
raw(java.io.InputStream is)
Called when a new entity (message or body part) starts and the parser is in raw mode. |
void |
startBodyPart()
Called when a new body part starts inside a multipart/* entity. |
void |
startHeader()
Called when a header (of a message or body part) is about to be parsed. |
void |
startMessage()
Called when a new message starts (a top level message or an embedded rfc822 message). |
void |
startMultipart(BodyDescriptor bd)
Called when the body of a multipart entity is about to be parsed. |
| Method Detail |
|---|
void startMessage()
void endMessage()
void startBodyPart()
multipart/* entity.
void endBodyPart()
void startHeader()
void field(java.lang.String fieldData)
fieldData - the raw contents of the field
(Field-Name: field value). The value will not be
unfolded.void endHeader()
void preamble(java.io.InputStream is)
throws java.io.IOException
multipart/* entity.
is - used to get the contents of the preamble.
java.io.IOException - should be thrown on I/O errors.
void epilogue(java.io.InputStream is)
throws java.io.IOException
multipart/* entity.
is - used to get the contents of the epilogue.
java.io.IOException - should be thrown on I/O errors.void startMultipart(BodyDescriptor bd)
bd - encapsulates the values (either read from the
message stream or, if not present, determined implictly
as described in the
MIME rfc:s) of the Content-Type and
Content-Transfer-Encoding header fields.void endMultipart()
void body(BodyDescriptor bd,
java.io.InputStream is)
throws java.io.IOException
bd - see startMultipart(BodyDescriptor)is - the contents of the body. NOTE: this is the raw body contents
- it will not be decoded if encoded. The bd
parameter should be used to determine how the stream data
should be decoded.
java.io.IOException - should be thrown on I/O errors.
void raw(java.io.InputStream is)
throws java.io.IOException
raw mode.
is - the raw contents of the entity.
java.io.IOException - should be thrown on I/O errors.MimeStreamParser.setRaw(boolean)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||