Java Reference
In-Depth Information
CHAPTER 9
Event Handling
Many email programs can periodically check for incoming email in the background.
One way to structure an email program is as a series of responses to unpredictable events.
This is much like programming for a graphical user interface, and indeed the JavaMail
API uses the same Observer pattern to handle mail events that JavaBeans and Swing
use to handle GUI events.
The JavaMail API defines six different kinds of mail events, all in the
javax.mail.event
package. They are all subclasses of
MailEvent
:
public
abstract
class
MailEvent
extends
EventObject
The six concrete kinds of mail events are:
ConnectionEvent
A
Folder
,
Store
, or
Transport
has been opened, closed, or disconnected.
FolderEvent
A
Folder
has been created, deleted, or renamed.
MessageChangedEvent
The message's envelope or flags have changed.
MessageCountEvent
A message was added to or deleted from a
Folder
.
StoreEvent
A notification or alert from a
Store
.
TransportEvent
A notification from a
Transport
that a message was delivered, partially delivered,
or failed to be delivered.
There are six listener interfaces corresponding to the six kinds of events: