## javax.mail.event
Class MessageCountEvent

    java.lang.Object
      java.util.EventObject
          javax.mail.event.MailEvent
              javax.mail.event.MessageCountEvent

All Implemented Interfaces:
  java.io.Serializable

    public class MessageCountEvent

extends MailEvent

This class notifies changes in the number of messages in a folder.

Note that some folder types may only deliver MessageCountEvents at certain times or after certain operations. IMAP in particular will only notify the client of MessageCountEvents when a client issues a new command. Refer to RFC 2060 http://www.ietf.org/rfc/rfc2060.txt for details. A client may want "poll" the folder by occasionally calling the `getMessageCount` or `isConnected` methods to solicit any such notifications.

See Also:
  Serialized Form

Field Summary
`static int` `ADDED` The messages were added to their folder
`protected Message[]` `msgs` The messages.
`protected boolean` `removed` If true, this event is the result of an explicit expunge by this client, and the messages in this folder have been renumbered to account for this.
`static int` `REMOVED` The messages were removed from their folder
`protected int` `type` The event type.

Fields inherited from class java.util.EventObject
`source`

Constructor Summary
`MessageCountEvent(Folder folder, int type, boolean removed, Message[] msgs)` Constructor.

Method Summary
`void` `dispatch(java.lang.Object listener)` Invokes the appropriate MessageCountListener method.
`Message[]` `getMessages()` Return the array of messages added or removed.
`int` `getType()` Return the type of this event.
`boolean` `isRemoved()` Indicates whether this event is the result of an explicit expunge by this client, or due to an expunge from external sources.

Methods inherited from class java.util.EventObject
`getSource, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### ADDED

    public static final int ADDED

  The messages were added to their folder

  See Also:
    Constant Field Values

### REMOVED

    public static final int REMOVED

  The messages were removed from their folder

  See Also:
    Constant Field Values

### type

    protected int type

  The event type.

### removed

    protected boolean removed

  If true, this event is the result of an explicit expunge by this client, and the messages in this folder have been renumbered to account for this. If false, this event is the result of an expunge by external sources.

### msgs

    protected transient Message[] msgs

  The messages.

Constructor Detail

### MessageCountEvent

    public MessageCountEvent(Folder folder,
                             int type,
                             boolean removed,
                             Message[] msgs)

  Constructor.

  Parameters:
    `folder` - The containing folder
    `type` - The event type
    `removed` - If true, this event is the result of an explicit expunge by this client, and the messages in this folder have been renumbered to account for this. If false, this event is the result of an expunge by external sources.
    `msgs` - The messages added/removed

Method Detail

### getType

    public int getType()

  Return the type of this event.

  Returns:
    type

### isRemoved

    public boolean isRemoved()

  Indicates whether this event is the result of an explicit expunge by this client, or due to an expunge from external sources. If `true`, this event is due to an explicit expunge and hence all remaining messages in this folder have been renumbered. If `false`, this event is due to an external expunge.

  Note that this method is valid only if the type of this event is `REMOVED`

### getMessages

    public Message[] getMessages()

  Return the array of messages added or removed.

  Returns:
    array of messages

### dispatch

    public void dispatch(java.lang.Object listener)

  Invokes the appropriate MessageCountListener method.

  Specified by:
    `dispatch` in class `MailEvent`