package com.limegroup.gnutella.connection; import java.util.EventObject; import org.limewire.core.api.connection.ConnectionLifecycleEventType; public class ConnectionLifecycleEvent extends EventObject { private final RoutedConnection connection; private final ConnectionLifecycleEventType type; public ConnectionLifecycleEvent(Object source, ConnectionLifecycleEventType type, RoutedConnection c) { super(source); this.connection = c; this.type = type; } /** * Constructs a ConnectionLifecycleEvent with no connection associated. * This is useful for CONNECTED, DISCONNECTED, NO_INTERNET and * ADDRESS_CHANGED events. * */ public ConnectionLifecycleEvent(Object source, ConnectionLifecycleEventType type) { this(source, type, null); } public ConnectionLifecycleEventType getType() { return type; } public RoutedConnection getConnection() { return connection; } public boolean isConnectingEvent() { return (type.equals(ConnectionLifecycleEventType.CONNECTING)); } public boolean isConnectedEvent() { return (type.equals(ConnectionLifecycleEventType.CONNECTED)); } public boolean isDisconnectedEvent() { return (type.equals(ConnectionLifecycleEventType.DISCONNECTED)); } public boolean isNoInternetEvent() { return (type.equals(ConnectionLifecycleEventType.NO_INTERNET)); } public boolean isConnectionInitializingEvent() { return (type.equals(ConnectionLifecycleEventType.CONNECTION_INITIALIZING)); } public boolean isConnectionClosedEvent() { return (type.equals(ConnectionLifecycleEventType.CONNECTION_CLOSED)); } public boolean isConnectionInitializedEvent() { return (type.equals(ConnectionLifecycleEventType.CONNECTION_INITIALIZED)); } public boolean isConnectionCapabilitiesEvent() { return (type.equals(ConnectionLifecycleEventType.CONNECTION_CAPABILITIES)); } @Override public String toString() { StringBuffer buffer = new StringBuffer("ConnectionLifecycleEvent: [event="); buffer.append(type); buffer.append(", connection="); if(connection == null) { buffer.append("null"); } else { buffer.append(connection.toString()); } return buffer.append("]").toString(); } }