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
, orTransport
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:
public
interface
ConnectionListener
extends
EventListener
public
interface
FolderListener
extends
EventListener
public
interface
MessageChangedListener
extends
EventListener
public
interface
MessageCountListener
extends
EventListener
public
interface
StoreListener
extends
EventListener
public
interface
TransportListener
extends
EventListener ...
Get JavaMail API now with O’Reilly online learning.
O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.