001 /**
002 *
003 * Copyright 2003-2004 The Apache Software Foundation
004 *
005 * Licensed under the Apache License, Version 2.0 (the "License");
006 * you may not use this file except in compliance with the License.
007 * You may obtain a copy of the License at
008 *
009 * http://www.apache.org/licenses/LICENSE-2.0
010 *
011 * Unless required by applicable law or agreed to in writing, software
012 * distributed under the License is distributed on an "AS IS" BASIS,
013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014 * See the License for the specific language governing permissions and
015 * limitations under the License.
016 */
017
018 package javax.mail.event;
019
020 /**
021 * @version $Rev: 125583 $ $Date: 2005-01-18 19:44:27 -0800 (Tue, 18 Jan 2005) $
022 */
023 public class ConnectionEvent extends MailEvent {
024 /**
025 * A connection was opened.
026 */
027 public static final int OPENED = 1;
028
029 /**
030 * A connection was disconnected.
031 */
032 public static final int DISCONNECTED = 2;
033
034 /**
035 * A connection was closed.
036 */
037 public static final int CLOSED = 3;
038
039 protected int type;
040
041 public ConnectionEvent(Object source, int type) {
042 super(source);
043 this.type = type;
044 }
045
046 public int getType() {
047 return type;
048 }
049
050 public void dispatch(Object listener) {
051 // assume that it is the right listener type
052 ConnectionListener l = (ConnectionListener) listener;
053 switch (type) {
054 case OPENED:
055 l.opened(this);
056 break;
057 case DISCONNECTED:
058 l.disconnected(this);
059 break;
060 case CLOSED:
061 l.closed(this);
062 break;
063 default:
064 throw new IllegalArgumentException("Invalid type " + type);
065 }
066 }
067 }