View Javadoc

1   /**
2    *
3    * Copyright 2003-2006 The Apache Software Foundation
4    *
5    *  Licensed under the Apache License, Version 2.0 (the "License");
6    *  you may not use this file except in compliance with the License.
7    *  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   *  Unless required by applicable law or agreed to in writing, software
12   *  distributed under the License is distributed on an "AS IS" BASIS,
13   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   *  See the License for the specific language governing permissions and
15   *  limitations under the License.
16   */
17  
18  package javax.mail.event;
19  
20  import javax.mail.Message;
21  
22  /**
23   * @version $Rev: 421852 $ $Date: 2006-07-14 03:02:19 -0700 (Fri, 14 Jul 2006) $
24   */
25  public class MessageChangedEvent extends MailEvent {
26      /**
27       * The message's flags changed.
28       */
29      public static final int FLAGS_CHANGED = 1;
30  
31      /**
32       * The messages envelope changed.
33       */
34      public static final int ENVELOPE_CHANGED = 2;
35  
36      protected transient Message msg;
37      protected int type;
38  
39      /**
40       * Constructor.
41       *
42       * @param source the folder that owns the message
43       * @param type the event type
44       * @param message the affected message
45       */
46      public MessageChangedEvent(Object source, int type, Message message) {
47          super(source);
48          msg = message;
49          this.type = type;
50      }
51  
52      public void dispatch(Object listener) {
53          MessageChangedListener l = (MessageChangedListener) listener;
54          l.messageChanged(this);
55      }
56  
57      /**
58       * Return the affected message.
59       * @return the affected message
60       */
61      public Message getMessage() {
62          return msg;
63      }
64  
65      /**
66       * Return the type of change.
67       * @return the event type
68       */
69      public int getMessageChangeType() {
70          return type;
71      }
72  }