001 /** 002 * 003 * Copyright 2003-2006 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: 421852 $ $Date: 2006-07-14 03:02:19 -0700 (Fri, 14 Jul 2006) $ 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 }