/**
*
*
*
* $Id$
*/
package net.opengis.wps10.impl;
import net.opengis.wps10.DescribeProcessType;
import net.opengis.wps10.DocumentRoot;
import net.opengis.wps10.ExecuteResponseType;
import net.opengis.wps10.ExecuteType;
import net.opengis.wps10.GetCapabilitiesType;
import net.opengis.wps10.LanguagesType1;
import net.opengis.wps10.ProcessDescriptionsType;
import net.opengis.wps10.ProcessOfferingsType;
import net.opengis.wps10.WPSCapabilitiesType;
import net.opengis.wps10.WSDLType;
import net.opengis.wps10.Wps10Package;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EMap;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.EcorePackage;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.EObjectImpl;
import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
import org.eclipse.emf.ecore.util.BasicFeatureMap;
import org.eclipse.emf.ecore.util.EcoreEMap;
import org.eclipse.emf.ecore.util.FeatureMap;
import org.eclipse.emf.ecore.util.InternalEList;
/**
*
* An implementation of the model object 'Document Root'.
*
*
* The following features are implemented:
*
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getMixed Mixed}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getXMLNSPrefixMap XMLNS Prefix Map}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getXSISchemaLocation XSI Schema Location}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getCapabilities Capabilities}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getDescribeProcess Describe Process}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getExecute Execute}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getExecuteResponse Execute Response}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getGetCapabilities Get Capabilities}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getLanguages Languages}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getProcessDescriptions Process Descriptions}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getProcessOfferings Process Offerings}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getWSDL WSDL}
* - {@link net.opengis.wps10.impl.DocumentRootImpl#getProcessVersion Process Version}
*
*
*
* @generated
*/
public class DocumentRootImpl extends EObjectImpl implements DocumentRoot {
/**
* The cached value of the '{@link #getMixed() Mixed}' attribute list.
*
*
* @see #getMixed()
* @generated
* @ordered
*/
protected FeatureMap mixed;
/**
* The cached value of the '{@link #getXMLNSPrefixMap() XMLNS Prefix Map}' map.
*
*
* @see #getXMLNSPrefixMap()
* @generated
* @ordered
*/
protected EMap xMLNSPrefixMap;
/**
* The cached value of the '{@link #getXSISchemaLocation() XSI Schema Location}' map.
*
*
* @see #getXSISchemaLocation()
* @generated
* @ordered
*/
protected EMap xSISchemaLocation;
/**
* The default value of the '{@link #getProcessVersion() Process Version}' attribute.
*
*
* @see #getProcessVersion()
* @generated
* @ordered
*/
protected static final String PROCESS_VERSION_EDEFAULT = null;
/**
* The cached value of the '{@link #getProcessVersion() Process Version}' attribute.
*
*
* @see #getProcessVersion()
* @generated
* @ordered
*/
protected String processVersion = PROCESS_VERSION_EDEFAULT;
/**
*
*
* @generated
*/
protected DocumentRootImpl() {
super();
}
/**
*
*
* @generated
*/
protected EClass eStaticClass() {
return Wps10Package.Literals.DOCUMENT_ROOT;
}
/**
*
*
* @generated
*/
public FeatureMap getMixed() {
if (mixed == null) {
mixed = new BasicFeatureMap(this, Wps10Package.DOCUMENT_ROOT__MIXED);
}
return mixed;
}
/**
*
*
* @generated
*/
public EMap getXMLNSPrefixMap() {
if (xMLNSPrefixMap == null) {
xMLNSPrefixMap = new EcoreEMap(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY, EStringToStringMapEntryImpl.class, this, Wps10Package.DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
}
return xMLNSPrefixMap;
}
/**
*
*
* @generated
*/
public EMap getXSISchemaLocation() {
if (xSISchemaLocation == null) {
xSISchemaLocation = new EcoreEMap(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY, EStringToStringMapEntryImpl.class, this, Wps10Package.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
}
return xSISchemaLocation;
}
/**
*
*
* @generated
*/
public WPSCapabilitiesType getCapabilities() {
return (WPSCapabilitiesType)getMixed().get(Wps10Package.Literals.DOCUMENT_ROOT__CAPABILITIES, true);
}
/**
*
*
* @generated
*/
public NotificationChain basicSetCapabilities(WPSCapabilitiesType newCapabilities, NotificationChain msgs) {
return ((FeatureMap.Internal)getMixed()).basicAdd(Wps10Package.Literals.DOCUMENT_ROOT__CAPABILITIES, newCapabilities, msgs);
}
/**
*
*
* @generated
*/
public void setCapabilities(WPSCapabilitiesType newCapabilities) {
((FeatureMap.Internal)getMixed()).set(Wps10Package.Literals.DOCUMENT_ROOT__CAPABILITIES, newCapabilities);
}
/**
*
*
* @generated
*/
public DescribeProcessType getDescribeProcess() {
return (DescribeProcessType)getMixed().get(Wps10Package.Literals.DOCUMENT_ROOT__DESCRIBE_PROCESS, true);
}
/**
*
*
* @generated
*/
public NotificationChain basicSetDescribeProcess(DescribeProcessType newDescribeProcess, NotificationChain msgs) {
return ((FeatureMap.Internal)getMixed()).basicAdd(Wps10Package.Literals.DOCUMENT_ROOT__DESCRIBE_PROCESS, newDescribeProcess, msgs);
}
/**
*
*
* @generated
*/
public void setDescribeProcess(DescribeProcessType newDescribeProcess) {
((FeatureMap.Internal)getMixed()).set(Wps10Package.Literals.DOCUMENT_ROOT__DESCRIBE_PROCESS, newDescribeProcess);
}
/**
*
*
* @generated
*/
public ExecuteType getExecute() {
return (ExecuteType)getMixed().get(Wps10Package.Literals.DOCUMENT_ROOT__EXECUTE, true);
}
/**
*
*
* @generated
*/
public NotificationChain basicSetExecute(ExecuteType newExecute, NotificationChain msgs) {
return ((FeatureMap.Internal)getMixed()).basicAdd(Wps10Package.Literals.DOCUMENT_ROOT__EXECUTE, newExecute, msgs);
}
/**
*
*
* @generated
*/
public void setExecute(ExecuteType newExecute) {
((FeatureMap.Internal)getMixed()).set(Wps10Package.Literals.DOCUMENT_ROOT__EXECUTE, newExecute);
}
/**
*
*
* @generated
*/
public ExecuteResponseType getExecuteResponse() {
return (ExecuteResponseType)getMixed().get(Wps10Package.Literals.DOCUMENT_ROOT__EXECUTE_RESPONSE, true);
}
/**
*
*
* @generated
*/
public NotificationChain basicSetExecuteResponse(ExecuteResponseType newExecuteResponse, NotificationChain msgs) {
return ((FeatureMap.Internal)getMixed()).basicAdd(Wps10Package.Literals.DOCUMENT_ROOT__EXECUTE_RESPONSE, newExecuteResponse, msgs);
}
/**
*
*
* @generated
*/
public void setExecuteResponse(ExecuteResponseType newExecuteResponse) {
((FeatureMap.Internal)getMixed()).set(Wps10Package.Literals.DOCUMENT_ROOT__EXECUTE_RESPONSE, newExecuteResponse);
}
/**
*
*
* @generated
*/
public GetCapabilitiesType getGetCapabilities() {
return (GetCapabilitiesType)getMixed().get(Wps10Package.Literals.DOCUMENT_ROOT__GET_CAPABILITIES, true);
}
/**
*
*
* @generated
*/
public NotificationChain basicSetGetCapabilities(GetCapabilitiesType newGetCapabilities, NotificationChain msgs) {
return ((FeatureMap.Internal)getMixed()).basicAdd(Wps10Package.Literals.DOCUMENT_ROOT__GET_CAPABILITIES, newGetCapabilities, msgs);
}
/**
*
*
* @generated
*/
public void setGetCapabilities(GetCapabilitiesType newGetCapabilities) {
((FeatureMap.Internal)getMixed()).set(Wps10Package.Literals.DOCUMENT_ROOT__GET_CAPABILITIES, newGetCapabilities);
}
/**
*
*
* @generated
*/
public LanguagesType1 getLanguages() {
return (LanguagesType1)getMixed().get(Wps10Package.Literals.DOCUMENT_ROOT__LANGUAGES, true);
}
/**
*
*
* @generated
*/
public NotificationChain basicSetLanguages(LanguagesType1 newLanguages, NotificationChain msgs) {
return ((FeatureMap.Internal)getMixed()).basicAdd(Wps10Package.Literals.DOCUMENT_ROOT__LANGUAGES, newLanguages, msgs);
}
/**
*
*
* @generated
*/
public void setLanguages(LanguagesType1 newLanguages) {
((FeatureMap.Internal)getMixed()).set(Wps10Package.Literals.DOCUMENT_ROOT__LANGUAGES, newLanguages);
}
/**
*
*
* @generated
*/
public ProcessDescriptionsType getProcessDescriptions() {
return (ProcessDescriptionsType)getMixed().get(Wps10Package.Literals.DOCUMENT_ROOT__PROCESS_DESCRIPTIONS, true);
}
/**
*
*
* @generated
*/
public NotificationChain basicSetProcessDescriptions(ProcessDescriptionsType newProcessDescriptions, NotificationChain msgs) {
return ((FeatureMap.Internal)getMixed()).basicAdd(Wps10Package.Literals.DOCUMENT_ROOT__PROCESS_DESCRIPTIONS, newProcessDescriptions, msgs);
}
/**
*
*
* @generated
*/
public void setProcessDescriptions(ProcessDescriptionsType newProcessDescriptions) {
((FeatureMap.Internal)getMixed()).set(Wps10Package.Literals.DOCUMENT_ROOT__PROCESS_DESCRIPTIONS, newProcessDescriptions);
}
/**
*
*
* @generated
*/
public ProcessOfferingsType getProcessOfferings() {
return (ProcessOfferingsType)getMixed().get(Wps10Package.Literals.DOCUMENT_ROOT__PROCESS_OFFERINGS, true);
}
/**
*
*
* @generated
*/
public NotificationChain basicSetProcessOfferings(ProcessOfferingsType newProcessOfferings, NotificationChain msgs) {
return ((FeatureMap.Internal)getMixed()).basicAdd(Wps10Package.Literals.DOCUMENT_ROOT__PROCESS_OFFERINGS, newProcessOfferings, msgs);
}
/**
*
*
* @generated
*/
public void setProcessOfferings(ProcessOfferingsType newProcessOfferings) {
((FeatureMap.Internal)getMixed()).set(Wps10Package.Literals.DOCUMENT_ROOT__PROCESS_OFFERINGS, newProcessOfferings);
}
/**
*
*
* @generated
*/
public WSDLType getWSDL() {
return (WSDLType)getMixed().get(Wps10Package.Literals.DOCUMENT_ROOT__WSDL, true);
}
/**
*
*
* @generated
*/
public NotificationChain basicSetWSDL(WSDLType newWSDL, NotificationChain msgs) {
return ((FeatureMap.Internal)getMixed()).basicAdd(Wps10Package.Literals.DOCUMENT_ROOT__WSDL, newWSDL, msgs);
}
/**
*
*
* @generated
*/
public void setWSDL(WSDLType newWSDL) {
((FeatureMap.Internal)getMixed()).set(Wps10Package.Literals.DOCUMENT_ROOT__WSDL, newWSDL);
}
/**
*
*
* @generated
*/
public String getProcessVersion() {
return processVersion;
}
/**
*
*
* @generated
*/
public void setProcessVersion(String newProcessVersion) {
String oldProcessVersion = processVersion;
processVersion = newProcessVersion;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, Wps10Package.DOCUMENT_ROOT__PROCESS_VERSION, oldProcessVersion, processVersion));
}
/**
*
*
* @generated
*/
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case Wps10Package.DOCUMENT_ROOT__MIXED:
return ((InternalEList)getMixed()).basicRemove(otherEnd, msgs);
case Wps10Package.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
return ((InternalEList)getXMLNSPrefixMap()).basicRemove(otherEnd, msgs);
case Wps10Package.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
return ((InternalEList)getXSISchemaLocation()).basicRemove(otherEnd, msgs);
case Wps10Package.DOCUMENT_ROOT__CAPABILITIES:
return basicSetCapabilities(null, msgs);
case Wps10Package.DOCUMENT_ROOT__DESCRIBE_PROCESS:
return basicSetDescribeProcess(null, msgs);
case Wps10Package.DOCUMENT_ROOT__EXECUTE:
return basicSetExecute(null, msgs);
case Wps10Package.DOCUMENT_ROOT__EXECUTE_RESPONSE:
return basicSetExecuteResponse(null, msgs);
case Wps10Package.DOCUMENT_ROOT__GET_CAPABILITIES:
return basicSetGetCapabilities(null, msgs);
case Wps10Package.DOCUMENT_ROOT__LANGUAGES:
return basicSetLanguages(null, msgs);
case Wps10Package.DOCUMENT_ROOT__PROCESS_DESCRIPTIONS:
return basicSetProcessDescriptions(null, msgs);
case Wps10Package.DOCUMENT_ROOT__PROCESS_OFFERINGS:
return basicSetProcessOfferings(null, msgs);
case Wps10Package.DOCUMENT_ROOT__WSDL:
return basicSetWSDL(null, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
*
*
* @generated
*/
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case Wps10Package.DOCUMENT_ROOT__MIXED:
if (coreType) return getMixed();
return ((FeatureMap.Internal)getMixed()).getWrapper();
case Wps10Package.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
if (coreType) return getXMLNSPrefixMap();
else return getXMLNSPrefixMap().map();
case Wps10Package.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
if (coreType) return getXSISchemaLocation();
else return getXSISchemaLocation().map();
case Wps10Package.DOCUMENT_ROOT__CAPABILITIES:
return getCapabilities();
case Wps10Package.DOCUMENT_ROOT__DESCRIBE_PROCESS:
return getDescribeProcess();
case Wps10Package.DOCUMENT_ROOT__EXECUTE:
return getExecute();
case Wps10Package.DOCUMENT_ROOT__EXECUTE_RESPONSE:
return getExecuteResponse();
case Wps10Package.DOCUMENT_ROOT__GET_CAPABILITIES:
return getGetCapabilities();
case Wps10Package.DOCUMENT_ROOT__LANGUAGES:
return getLanguages();
case Wps10Package.DOCUMENT_ROOT__PROCESS_DESCRIPTIONS:
return getProcessDescriptions();
case Wps10Package.DOCUMENT_ROOT__PROCESS_OFFERINGS:
return getProcessOfferings();
case Wps10Package.DOCUMENT_ROOT__WSDL:
return getWSDL();
case Wps10Package.DOCUMENT_ROOT__PROCESS_VERSION:
return getProcessVersion();
}
return super.eGet(featureID, resolve, coreType);
}
/**
*
*
* @generated
*/
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case Wps10Package.DOCUMENT_ROOT__MIXED:
((FeatureMap.Internal)getMixed()).set(newValue);
return;
case Wps10Package.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
((EStructuralFeature.Setting)getXMLNSPrefixMap()).set(newValue);
return;
case Wps10Package.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
((EStructuralFeature.Setting)getXSISchemaLocation()).set(newValue);
return;
case Wps10Package.DOCUMENT_ROOT__CAPABILITIES:
setCapabilities((WPSCapabilitiesType)newValue);
return;
case Wps10Package.DOCUMENT_ROOT__DESCRIBE_PROCESS:
setDescribeProcess((DescribeProcessType)newValue);
return;
case Wps10Package.DOCUMENT_ROOT__EXECUTE:
setExecute((ExecuteType)newValue);
return;
case Wps10Package.DOCUMENT_ROOT__EXECUTE_RESPONSE:
setExecuteResponse((ExecuteResponseType)newValue);
return;
case Wps10Package.DOCUMENT_ROOT__GET_CAPABILITIES:
setGetCapabilities((GetCapabilitiesType)newValue);
return;
case Wps10Package.DOCUMENT_ROOT__LANGUAGES:
setLanguages((LanguagesType1)newValue);
return;
case Wps10Package.DOCUMENT_ROOT__PROCESS_DESCRIPTIONS:
setProcessDescriptions((ProcessDescriptionsType)newValue);
return;
case Wps10Package.DOCUMENT_ROOT__PROCESS_OFFERINGS:
setProcessOfferings((ProcessOfferingsType)newValue);
return;
case Wps10Package.DOCUMENT_ROOT__WSDL:
setWSDL((WSDLType)newValue);
return;
case Wps10Package.DOCUMENT_ROOT__PROCESS_VERSION:
setProcessVersion((String)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
*
*
* @generated
*/
public void eUnset(int featureID) {
switch (featureID) {
case Wps10Package.DOCUMENT_ROOT__MIXED:
getMixed().clear();
return;
case Wps10Package.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
getXMLNSPrefixMap().clear();
return;
case Wps10Package.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
getXSISchemaLocation().clear();
return;
case Wps10Package.DOCUMENT_ROOT__CAPABILITIES:
setCapabilities((WPSCapabilitiesType)null);
return;
case Wps10Package.DOCUMENT_ROOT__DESCRIBE_PROCESS:
setDescribeProcess((DescribeProcessType)null);
return;
case Wps10Package.DOCUMENT_ROOT__EXECUTE:
setExecute((ExecuteType)null);
return;
case Wps10Package.DOCUMENT_ROOT__EXECUTE_RESPONSE:
setExecuteResponse((ExecuteResponseType)null);
return;
case Wps10Package.DOCUMENT_ROOT__GET_CAPABILITIES:
setGetCapabilities((GetCapabilitiesType)null);
return;
case Wps10Package.DOCUMENT_ROOT__LANGUAGES:
setLanguages((LanguagesType1)null);
return;
case Wps10Package.DOCUMENT_ROOT__PROCESS_DESCRIPTIONS:
setProcessDescriptions((ProcessDescriptionsType)null);
return;
case Wps10Package.DOCUMENT_ROOT__PROCESS_OFFERINGS:
setProcessOfferings((ProcessOfferingsType)null);
return;
case Wps10Package.DOCUMENT_ROOT__WSDL:
setWSDL((WSDLType)null);
return;
case Wps10Package.DOCUMENT_ROOT__PROCESS_VERSION:
setProcessVersion(PROCESS_VERSION_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
*
*
* @generated
*/
public boolean eIsSet(int featureID) {
switch (featureID) {
case Wps10Package.DOCUMENT_ROOT__MIXED:
return mixed != null && !mixed.isEmpty();
case Wps10Package.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
return xMLNSPrefixMap != null && !xMLNSPrefixMap.isEmpty();
case Wps10Package.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
return xSISchemaLocation != null && !xSISchemaLocation.isEmpty();
case Wps10Package.DOCUMENT_ROOT__CAPABILITIES:
return getCapabilities() != null;
case Wps10Package.DOCUMENT_ROOT__DESCRIBE_PROCESS:
return getDescribeProcess() != null;
case Wps10Package.DOCUMENT_ROOT__EXECUTE:
return getExecute() != null;
case Wps10Package.DOCUMENT_ROOT__EXECUTE_RESPONSE:
return getExecuteResponse() != null;
case Wps10Package.DOCUMENT_ROOT__GET_CAPABILITIES:
return getGetCapabilities() != null;
case Wps10Package.DOCUMENT_ROOT__LANGUAGES:
return getLanguages() != null;
case Wps10Package.DOCUMENT_ROOT__PROCESS_DESCRIPTIONS:
return getProcessDescriptions() != null;
case Wps10Package.DOCUMENT_ROOT__PROCESS_OFFERINGS:
return getProcessOfferings() != null;
case Wps10Package.DOCUMENT_ROOT__WSDL:
return getWSDL() != null;
case Wps10Package.DOCUMENT_ROOT__PROCESS_VERSION:
return PROCESS_VERSION_EDEFAULT == null ? processVersion != null : !PROCESS_VERSION_EDEFAULT.equals(processVersion);
}
return super.eIsSet(featureID);
}
/**
*
*
* @generated
*/
public String toString() {
if (eIsProxy()) return super.toString();
StringBuffer result = new StringBuffer(super.toString());
result.append(" (mixed: ");
result.append(mixed);
result.append(", processVersion: ");
result.append(processVersion);
result.append(')');
return result.toString();
}
} //DocumentRootImpl