javax.mail.event

## Class MessageCountEvent

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

- All Implemented Interfaces:
    Serializable
  Direct Known Subclasses:
    MessageVanishedEvent

      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 3501 for details. A client may want to "poll" the folder by occasionally calling the `getMessageCount` or `isOpen` methods to solicit any such notifications.

  Author:
    John Mani
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `dispatch(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`

      Returns:
        true if the message has been removed

    - #### getMessages

          public Message[] getMessages()

      Return the array of messages added or removed.
      Returns:
        array of messages

    - #### dispatch

          public void dispatch(Object listener)

      Invokes the appropriate MessageCountListener method.
      Specified by:
        `dispatch` in class `MailEvent`
      Parameters:
        `listener` - the listener to invoke on

Copyright © 2016 Oracle. All rights reserved.