blob: 77bd5c73ab73dedd596e603940ae5694ce51437c [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009 IBM, and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
******************************************************************************/
package org.eclipse.ecf.provider.filetransfer.events.socket;
import java.net.Socket;
import org.eclipse.core.runtime.Assert;
import org.eclipse.ecf.filetransfer.events.socket.ISocketEvent;
import org.eclipse.ecf.filetransfer.events.socket.ISocketEventSource;
public abstract class AbstractSocketEvent implements ISocketEvent {
private Socket factorySocket;
private Socket wrappedSocket;
private ISocketEventSource source;
protected AbstractSocketEvent(ISocketEventSource source, Socket factorySocket, Socket wrappedSocket) {
Assert.isNotNull(source);
Assert.isNotNull(factorySocket);
Assert.isNotNull(wrappedSocket);
this.source = source;
this.factorySocket = factorySocket;
this.wrappedSocket = wrappedSocket;
}
public ISocketEventSource getSource() {
return source;
}
public Socket getFactorySocket() {
return factorySocket;
}
public boolean isSameFactorySocket(ISocketEvent event) {
AbstractSocketEvent other = (AbstractSocketEvent) event;
return this.getFactorySocket() == other.getFactorySocket();
}
public Socket getSocket() {
return wrappedSocket;
}
protected void setSocket(Socket socket) {
this.wrappedSocket = socket;
}
public String toString() {
StringBuffer sb = new StringBuffer(getEventName() + "["); //$NON-NLS-1$
sb.append("source="); //$NON-NLS-1$
sb.append(source);
sb.append(" socket="); //$NON-NLS-1$
sb.append(getSocket());
sb.append(']');
return sb.toString();
}
protected abstract String getEventName();
}