July 2013
Intermediate to advanced
95 pages
2h 15m
English
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:
publicabstractclassMailEventextendsEventObject
The six concrete kinds of mail events are:
ConnectionEvent
Folder, Store, or Transport has been opened, closed, or disconnected.
FolderEvent
Folder has been created, deleted, or renamed.
MessageChangedEvent
MessageCountEvent
Folder.
StoreEvent
Store.
TransportEvent
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:
publicinterfaceConnectionListenerextendsEventListenerpublicinterfaceFolderListenerextendsEventListenerpublicinterfaceMessageChangedListenerextendsEventListenerpublicinterfaceMessageCountListenerextendsEventListenerpublicinterfaceStoreListenerextendsEventListenerpublicinterfaceTransportListenerextendsEventListener ...