/**
*/
package ftp.impl;
import ftp.Connection;
import ftp.FtpPackage;
import ftp.Port;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Connection</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link ftp.impl.ConnectionImpl#getFromPort <em>From Port</em>}</li>
* <li>{@link ftp.impl.ConnectionImpl#getToPort <em>To Port</em>}</li>
* </ul>
*
* @generated
*/
public class ConnectionImpl extends CompositionElementImpl implements Connection {
/**
* The cached value of the '{@link #getFromPort() <em>From Port</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getFromPort()
* @generated
* @ordered
*/
protected Port fromPort;
/**
* The cached value of the '{@link #getToPort() <em>To Port</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getToPort()
* @generated
* @ordered
*/
protected Port toPort;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ConnectionImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return FtpPackage.Literals.CONNECTION;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Port getFromPort() {
if (fromPort != null && fromPort.eIsProxy()) {
InternalEObject oldFromPort = (InternalEObject)fromPort;
fromPort = (Port)eResolveProxy(oldFromPort);
if (fromPort != oldFromPort) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, FtpPackage.CONNECTION__FROM_PORT, oldFromPort, fromPort));
}
}
return fromPort;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Port basicGetFromPort() {
return fromPort;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setFromPort(Port newFromPort) {
Port oldFromPort = fromPort;
fromPort = newFromPort;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, FtpPackage.CONNECTION__FROM_PORT, oldFromPort, fromPort));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Port getToPort() {
if (toPort != null && toPort.eIsProxy()) {
InternalEObject oldToPort = (InternalEObject)toPort;
toPort = (Port)eResolveProxy(oldToPort);
if (toPort != oldToPort) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, FtpPackage.CONNECTION__TO_PORT, oldToPort, toPort));
}
}
return toPort;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Port basicGetToPort() {
return toPort;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setToPort(Port newToPort) {
Port oldToPort = toPort;
toPort = newToPort;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, FtpPackage.CONNECTION__TO_PORT, oldToPort, toPort));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case FtpPackage.CONNECTION__FROM_PORT:
if (resolve) return getFromPort();
return basicGetFromPort();
case FtpPackage.CONNECTION__TO_PORT:
if (resolve) return getToPort();
return basicGetToPort();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case FtpPackage.CONNECTION__FROM_PORT:
setFromPort((Port)newValue);
return;
case FtpPackage.CONNECTION__TO_PORT:
setToPort((Port)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case FtpPackage.CONNECTION__FROM_PORT:
setFromPort((Port)null);
return;
case FtpPackage.CONNECTION__TO_PORT:
setToPort((Port)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case FtpPackage.CONNECTION__FROM_PORT:
return fromPort != null;
case FtpPackage.CONNECTION__TO_PORT:
return toPort != null;
}
return super.eIsSet(featureID);
}
} //ConnectionImpl