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  /**
21   * @version $Rev: 421852 $ $Date: 2006-07-14 03:02:19 -0700 (Fri, 14 Jul 2006) $
22   */
23  public class ConnectionEvent extends MailEvent {
24      /**
25       * A connection was opened.
26       */
27      public static final int OPENED = 1;
28  
29      /**
30       * A connection was disconnected.
31       */
32      public static final int DISCONNECTED = 2;
33  
34      /**
35       * A connection was closed.
36       */
37      public static final int CLOSED = 3;
38  
39      protected int type;
40  
41      public ConnectionEvent(Object source, int type) {
42          super(source);
43          this.type = type;
44      }
45  
46      public int getType() {
47          return type;
48      }
49  
50      public void dispatch(Object listener) {
51          // assume that it is the right listener type
52          ConnectionListener l = (ConnectionListener) listener;
53          switch (type) {
54          case OPENED:
55              l.opened(this);
56              break;
57          case DISCONNECTED:
58              l.disconnected(this);
59              break;
60          case CLOSED:
61              l.closed(this);
62              break;
63          default:
64              throw new IllegalArgumentException("Invalid type " + type);
65          }
66      }
67  }