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 }