1 /**
2 *
3 * Copyright 2003-2004 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: 125583 $ $Date: 2005-01-18 19:44:27 -0800 (Tue, 18 Jan 2005) $
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
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 }