/* * Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) 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: * Andre Dietisheim - initial API and implementation * Eike Stepper - maintenance */ package org.eclipse.net4j.defs.impl; import org.eclipse.net4j.defs.Net4jDefsPackage; import org.eclipse.net4j.defs.TCPConnectorDef; import org.eclipse.net4j.defs.TCPSelectorDef; import org.eclipse.net4j.internal.tcp.TCPClientConnector; import org.eclipse.net4j.tcp.ITCPConnector; import org.eclipse.net4j.tcp.ITCPSelector; import org.eclipse.net4j.util.CheckUtil; 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; /** * An implementation of the model object ' TCP Connector Def'. *

* The following features are implemented: *

*

* * @generated */ public class TCPConnectorDefImpl extends ConnectorDefImpl implements TCPConnectorDef { /** * The cached value of the '{@link #getTcpSelectorDef() Tcp Selector Def}' reference. * * * @see #getTcpSelectorDef() * @generated * @ordered */ protected TCPSelectorDef tcpSelectorDef; /** * The default value of the '{@link #getHost() Host}' attribute. * * @see #getHost() * @generated * @ordered */ protected static final String HOST_EDEFAULT = null; /** * The cached value of the '{@link #getHost() Host}' attribute. * * @see #getHost() * @generated * @ordered */ protected String host = HOST_EDEFAULT; /** * The default value of the '{@link #getPort() Port}' attribute. * * @see #getPort() * @generated * @ordered */ protected static final int PORT_EDEFAULT = 0; /** * The cached value of the '{@link #getPort() Port}' attribute. * * @see #getPort() * @generated * @ordered */ protected int port = PORT_EDEFAULT; /** * This is true if the Port attribute has been set. * * @generated * @ordered */ protected boolean portESet; /** * * @generated */ protected TCPConnectorDefImpl() { super(); } /** * * @generated */ @Override protected EClass eStaticClass() { return Net4jDefsPackage.Literals.TCP_CONNECTOR_DEF; } /** * * @generated */ public TCPSelectorDef getTcpSelectorDef() { if (tcpSelectorDef != null && tcpSelectorDef.eIsProxy()) { InternalEObject oldTcpSelectorDef = (InternalEObject)tcpSelectorDef; tcpSelectorDef = (TCPSelectorDef)eResolveProxy(oldTcpSelectorDef); if (tcpSelectorDef != oldTcpSelectorDef) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, Net4jDefsPackage.TCP_CONNECTOR_DEF__TCP_SELECTOR_DEF, oldTcpSelectorDef, tcpSelectorDef)); } } return tcpSelectorDef; } /** * * @generated */ public TCPSelectorDef basicGetTcpSelectorDef() { return tcpSelectorDef; } /** * * @generated */ public void setTcpSelectorDef(TCPSelectorDef newTcpSelectorDef) { TCPSelectorDef oldTcpSelectorDef = tcpSelectorDef; tcpSelectorDef = newTcpSelectorDef; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Net4jDefsPackage.TCP_CONNECTOR_DEF__TCP_SELECTOR_DEF, oldTcpSelectorDef, tcpSelectorDef)); } /** * * @generated */ public String getHost() { return host; } /** * * @generated */ public void setHost(String newHost) { String oldHost = host; host = newHost; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Net4jDefsPackage.TCP_CONNECTOR_DEF__HOST, oldHost, host)); } /** * gets the port of this connector. If the port was not set, the * {@link ITCPConnector#DEFAULT_PORT} is returned * * @generated NOT */ public int getPort() { if (isSetPort()) { return getPortGen(); } else { return ITCPConnector.DEFAULT_PORT; } } /** * @generated */ public int getPortGen() { return port; } /** * * @generated */ public void setPort(int newPort) { int oldPort = port; port = newPort; boolean oldPortESet = portESet; portESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, Net4jDefsPackage.TCP_CONNECTOR_DEF__PORT, oldPort, port, !oldPortESet)); } /** * * @generated */ public void unsetPort() { int oldPort = port; boolean oldPortESet = portESet; port = PORT_EDEFAULT; portESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, Net4jDefsPackage.TCP_CONNECTOR_DEF__PORT, oldPort, PORT_EDEFAULT, oldPortESet)); } /** * * @generated */ public boolean isSetPort() { return portESet; } /** * * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case Net4jDefsPackage.TCP_CONNECTOR_DEF__TCP_SELECTOR_DEF: if (resolve) return getTcpSelectorDef(); return basicGetTcpSelectorDef(); case Net4jDefsPackage.TCP_CONNECTOR_DEF__HOST: return getHost(); case Net4jDefsPackage.TCP_CONNECTOR_DEF__PORT: return getPort(); } return super.eGet(featureID, resolve, coreType); } /** * * @generated */ @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case Net4jDefsPackage.TCP_CONNECTOR_DEF__TCP_SELECTOR_DEF: setTcpSelectorDef((TCPSelectorDef)newValue); return; case Net4jDefsPackage.TCP_CONNECTOR_DEF__HOST: setHost((String)newValue); return; case Net4jDefsPackage.TCP_CONNECTOR_DEF__PORT: setPort((Integer)newValue); return; } super.eSet(featureID, newValue); } /** * * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case Net4jDefsPackage.TCP_CONNECTOR_DEF__TCP_SELECTOR_DEF: setTcpSelectorDef((TCPSelectorDef)null); return; case Net4jDefsPackage.TCP_CONNECTOR_DEF__HOST: setHost(HOST_EDEFAULT); return; case Net4jDefsPackage.TCP_CONNECTOR_DEF__PORT: unsetPort(); return; } super.eUnset(featureID); } /** * * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case Net4jDefsPackage.TCP_CONNECTOR_DEF__TCP_SELECTOR_DEF: return tcpSelectorDef != null; case Net4jDefsPackage.TCP_CONNECTOR_DEF__HOST: return HOST_EDEFAULT == null ? host != null : !HOST_EDEFAULT.equals(host); case Net4jDefsPackage.TCP_CONNECTOR_DEF__PORT: return isSetPort(); } return super.eIsSet(featureID); } /** * * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (host: "); result.append(host); result.append(", port: "); if (portESet) result.append(port); else result.append(""); result.append(')'); return result.toString(); } /** * @ADDED */ @Override protected ITCPConnector createInstance() { TCPClientConnector connector = new TCPClientConnector(); configure(connector); connector.setSelector((ITCPSelector)getTcpSelectorDef().getInstance()); connector.setHost(getHost()); connector.setPort(getPort()); return connector; } /** * @ADDED */ @Override protected void validateDefinition() { super.validateDefinition(); CheckUtil.checkState(eIsSet(Net4jDefsPackage.TCP_CONNECTOR_DEF__TCP_SELECTOR_DEF), "tcp selector not set!"); CheckUtil.checkState(eIsSet(Net4jDefsPackage.TCP_CONNECTOR_DEF__HOST), "host not set!"); // } } // TCPConnectorDefImpl