/** * * * * $Id$ */ package net.opengis.wps.impl; import net.opengis.wps.DataInputsType; import net.opengis.wps.ProcessDescriptionType; import net.opengis.wps.ProcessOutputsType; import net.opengis.wps.WpsPackage; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.common.notify.NotificationChain; 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 'Process Description Type'. * *

* The following features are implemented: *

*

* * @generated */ public class ProcessDescriptionTypeImpl extends ProcessBriefTypeImpl implements ProcessDescriptionType { /** * The cached value of the '{@link #getDataInputs() Data Inputs}' containment reference. * * * @see #getDataInputs() * @generated * @ordered */ protected DataInputsType dataInputs; /** * The cached value of the '{@link #getProcessOutputs() Process Outputs}' containment reference. * * * @see #getProcessOutputs() * @generated * @ordered */ protected ProcessOutputsType processOutputs; /** * The default value of the '{@link #isStatusSupported() Status Supported}' attribute. * * * @see #isStatusSupported() * @generated * @ordered */ protected static final boolean STATUS_SUPPORTED_EDEFAULT = false; /** * The cached value of the '{@link #isStatusSupported() Status Supported}' attribute. * * * @see #isStatusSupported() * @generated * @ordered */ protected boolean statusSupported = STATUS_SUPPORTED_EDEFAULT; /** * This is true if the Status Supported attribute has been set. * * * @generated * @ordered */ protected boolean statusSupportedESet; /** * The default value of the '{@link #isStoreSupported() Store Supported}' attribute. * * * @see #isStoreSupported() * @generated * @ordered */ protected static final boolean STORE_SUPPORTED_EDEFAULT = false; /** * The cached value of the '{@link #isStoreSupported() Store Supported}' attribute. * * * @see #isStoreSupported() * @generated * @ordered */ protected boolean storeSupported = STORE_SUPPORTED_EDEFAULT; /** * This is true if the Store Supported attribute has been set. * * * @generated * @ordered */ protected boolean storeSupportedESet; /** * * * @generated */ protected ProcessDescriptionTypeImpl() { super(); } /** * * * @generated */ protected EClass eStaticClass() { return WpsPackage.eINSTANCE.getProcessDescriptionType(); } /** * * * @generated */ public DataInputsType getDataInputs() { return dataInputs; } /** * * * @generated */ public NotificationChain basicSetDataInputs(DataInputsType newDataInputs, NotificationChain msgs) { DataInputsType oldDataInputs = dataInputs; dataInputs = newDataInputs; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, WpsPackage.PROCESS_DESCRIPTION_TYPE__DATA_INPUTS, oldDataInputs, newDataInputs); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * * * @generated */ public void setDataInputs(DataInputsType newDataInputs) { if (newDataInputs != dataInputs) { NotificationChain msgs = null; if (dataInputs != null) msgs = ((InternalEObject)dataInputs).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - WpsPackage.PROCESS_DESCRIPTION_TYPE__DATA_INPUTS, null, msgs); if (newDataInputs != null) msgs = ((InternalEObject)newDataInputs).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - WpsPackage.PROCESS_DESCRIPTION_TYPE__DATA_INPUTS, null, msgs); msgs = basicSetDataInputs(newDataInputs, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, WpsPackage.PROCESS_DESCRIPTION_TYPE__DATA_INPUTS, newDataInputs, newDataInputs)); } /** * * * @generated */ public ProcessOutputsType getProcessOutputs() { return processOutputs; } /** * * * @generated */ public NotificationChain basicSetProcessOutputs(ProcessOutputsType newProcessOutputs, NotificationChain msgs) { ProcessOutputsType oldProcessOutputs = processOutputs; processOutputs = newProcessOutputs; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, WpsPackage.PROCESS_DESCRIPTION_TYPE__PROCESS_OUTPUTS, oldProcessOutputs, newProcessOutputs); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * * * @generated */ public void setProcessOutputs(ProcessOutputsType newProcessOutputs) { if (newProcessOutputs != processOutputs) { NotificationChain msgs = null; if (processOutputs != null) msgs = ((InternalEObject)processOutputs).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - WpsPackage.PROCESS_DESCRIPTION_TYPE__PROCESS_OUTPUTS, null, msgs); if (newProcessOutputs != null) msgs = ((InternalEObject)newProcessOutputs).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - WpsPackage.PROCESS_DESCRIPTION_TYPE__PROCESS_OUTPUTS, null, msgs); msgs = basicSetProcessOutputs(newProcessOutputs, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, WpsPackage.PROCESS_DESCRIPTION_TYPE__PROCESS_OUTPUTS, newProcessOutputs, newProcessOutputs)); } /** * * * @generated */ public boolean isStatusSupported() { return statusSupported; } /** * * * @generated */ public void setStatusSupported(boolean newStatusSupported) { boolean oldStatusSupported = statusSupported; statusSupported = newStatusSupported; boolean oldStatusSupportedESet = statusSupportedESet; statusSupportedESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, WpsPackage.PROCESS_DESCRIPTION_TYPE__STATUS_SUPPORTED, oldStatusSupported, statusSupported, !oldStatusSupportedESet)); } /** * * * @generated */ public void unsetStatusSupported() { boolean oldStatusSupported = statusSupported; boolean oldStatusSupportedESet = statusSupportedESet; statusSupported = STATUS_SUPPORTED_EDEFAULT; statusSupportedESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, WpsPackage.PROCESS_DESCRIPTION_TYPE__STATUS_SUPPORTED, oldStatusSupported, STATUS_SUPPORTED_EDEFAULT, oldStatusSupportedESet)); } /** * * * @generated */ public boolean isSetStatusSupported() { return statusSupportedESet; } /** * * * @generated */ public boolean isStoreSupported() { return storeSupported; } /** * * * @generated */ public void setStoreSupported(boolean newStoreSupported) { boolean oldStoreSupported = storeSupported; storeSupported = newStoreSupported; boolean oldStoreSupportedESet = storeSupportedESet; storeSupportedESet = true; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, WpsPackage.PROCESS_DESCRIPTION_TYPE__STORE_SUPPORTED, oldStoreSupported, storeSupported, !oldStoreSupportedESet)); } /** * * * @generated */ public void unsetStoreSupported() { boolean oldStoreSupported = storeSupported; boolean oldStoreSupportedESet = storeSupportedESet; storeSupported = STORE_SUPPORTED_EDEFAULT; storeSupportedESet = false; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.UNSET, WpsPackage.PROCESS_DESCRIPTION_TYPE__STORE_SUPPORTED, oldStoreSupported, STORE_SUPPORTED_EDEFAULT, oldStoreSupportedESet)); } /** * * * @generated */ public boolean isSetStoreSupported() { return storeSupportedESet; } /** * * * @generated */ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case WpsPackage.PROCESS_DESCRIPTION_TYPE__DATA_INPUTS: return basicSetDataInputs(null, msgs); case WpsPackage.PROCESS_DESCRIPTION_TYPE__PROCESS_OUTPUTS: return basicSetProcessOutputs(null, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } /** * * * @generated */ public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case WpsPackage.PROCESS_DESCRIPTION_TYPE__DATA_INPUTS: return getDataInputs(); case WpsPackage.PROCESS_DESCRIPTION_TYPE__PROCESS_OUTPUTS: return getProcessOutputs(); case WpsPackage.PROCESS_DESCRIPTION_TYPE__STATUS_SUPPORTED: return isStatusSupported() ? Boolean.TRUE : Boolean.FALSE; case WpsPackage.PROCESS_DESCRIPTION_TYPE__STORE_SUPPORTED: return isStoreSupported() ? Boolean.TRUE : Boolean.FALSE; } return super.eGet(featureID, resolve, coreType); } /** * * * @generated */ public void eSet(int featureID, Object newValue) { switch (featureID) { case WpsPackage.PROCESS_DESCRIPTION_TYPE__DATA_INPUTS: setDataInputs((DataInputsType)newValue); return; case WpsPackage.PROCESS_DESCRIPTION_TYPE__PROCESS_OUTPUTS: setProcessOutputs((ProcessOutputsType)newValue); return; case WpsPackage.PROCESS_DESCRIPTION_TYPE__STATUS_SUPPORTED: setStatusSupported(((Boolean)newValue).booleanValue()); return; case WpsPackage.PROCESS_DESCRIPTION_TYPE__STORE_SUPPORTED: setStoreSupported(((Boolean)newValue).booleanValue()); return; } super.eSet(featureID, newValue); } /** * * * @generated */ public void eUnset(int featureID) { switch (featureID) { case WpsPackage.PROCESS_DESCRIPTION_TYPE__DATA_INPUTS: setDataInputs((DataInputsType)null); return; case WpsPackage.PROCESS_DESCRIPTION_TYPE__PROCESS_OUTPUTS: setProcessOutputs((ProcessOutputsType)null); return; case WpsPackage.PROCESS_DESCRIPTION_TYPE__STATUS_SUPPORTED: unsetStatusSupported(); return; case WpsPackage.PROCESS_DESCRIPTION_TYPE__STORE_SUPPORTED: unsetStoreSupported(); return; } super.eUnset(featureID); } /** * * * @generated */ public boolean eIsSet(int featureID) { switch (featureID) { case WpsPackage.PROCESS_DESCRIPTION_TYPE__DATA_INPUTS: return dataInputs != null; case WpsPackage.PROCESS_DESCRIPTION_TYPE__PROCESS_OUTPUTS: return processOutputs != null; case WpsPackage.PROCESS_DESCRIPTION_TYPE__STATUS_SUPPORTED: return isSetStatusSupported(); case WpsPackage.PROCESS_DESCRIPTION_TYPE__STORE_SUPPORTED: return isSetStoreSupported(); } return super.eIsSet(featureID); } /** * * * @generated */ public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (statusSupported: "); if (statusSupportedESet) result.append(statusSupported); else result.append(""); result.append(", storeSupported: "); if (storeSupportedESet) result.append(storeSupported); else result.append(""); result.append(')'); return result.toString(); } } //ProcessDescriptionTypeImpl