View Javadoc

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