/** * <copyright> </copyright> * * $Id$ */ package org.talend.cwm.xml.impl; 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.EObject; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.talend.cwm.helper.TaggedValueHelper; import org.talend.cwm.xml.TdXmlContent; import org.talend.cwm.xml.TdXmlElementType; import org.talend.cwm.xml.TdXmlSchema; import org.talend.cwm.xml.XmlPackage; import orgomg.cwm.objectmodel.core.TaggedValue; import orgomg.cwm.resource.xml.impl.ElementTypeImpl; /** * <!-- begin-user-doc --> * An implementation of the model object '<em><b>Td Xml Element Type</b></em>'. * <!-- end-user-doc --> * <p> * The following features are implemented: * <ul> * <li>{@link org.talend.cwm.xml.impl.TdXmlElementTypeImpl#getXsdElementDeclaration <em>Xsd Element Declaration</em>}</li> * <li>{@link org.talend.cwm.xml.impl.TdXmlElementTypeImpl#getOwnedDocument <em>Owned Document</em>}</li> * <li>{@link org.talend.cwm.xml.impl.TdXmlElementTypeImpl#getJavaType <em>Java Type</em>}</li> * <li>{@link org.talend.cwm.xml.impl.TdXmlElementTypeImpl#getXmlContent <em>Xml Content</em>}</li> * </ul> * </p> * * @generated */ public class TdXmlElementTypeImpl extends ElementTypeImpl implements TdXmlElementType { /** * The cached value of the '{@link #getXsdElementDeclaration() <em>Xsd Element Declaration</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getXsdElementDeclaration() * @generated * @ordered */ protected EObject xsdElementDeclaration; /** * The cached value of the '{@link #getOwnedDocument() <em>Owned Document</em>}' reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getOwnedDocument() * @generated * @ordered */ protected TdXmlSchema ownedDocument; /** * The default value of the '{@link #getJavaType() <em>Java Type</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getJavaType() * @generated * @ordered */ protected static final String JAVA_TYPE_EDEFAULT = null; /** * The cached value of the '{@link #getJavaType() <em>Java Type</em>}' attribute. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getJavaType() * @generated * @ordered */ protected String javaType = JAVA_TYPE_EDEFAULT; /** * The cached value of the '{@link #getXmlContent() <em>Xml Content</em>}' containment reference. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @see #getXmlContent() * @generated * @ordered */ protected TdXmlContent xmlContent; /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected TdXmlElementTypeImpl() { super(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override protected EClass eStaticClass() { return XmlPackage.Literals.TD_XML_ELEMENT_TYPE; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EObject getXsdElementDeclaration() { if (xsdElementDeclaration != null && xsdElementDeclaration.eIsProxy()) { InternalEObject oldXsdElementDeclaration = (InternalEObject) xsdElementDeclaration; xsdElementDeclaration = eResolveProxy(oldXsdElementDeclaration); if (xsdElementDeclaration != oldXsdElementDeclaration) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, XmlPackage.TD_XML_ELEMENT_TYPE__XSD_ELEMENT_DECLARATION, oldXsdElementDeclaration, xsdElementDeclaration)); } } return xsdElementDeclaration; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public EObject basicGetXsdElementDeclaration() { return xsdElementDeclaration; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setXsdElementDeclaration(EObject newXsdElementDeclaration) { EObject oldXsdElementDeclaration = xsdElementDeclaration; xsdElementDeclaration = newXsdElementDeclaration; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.TD_XML_ELEMENT_TYPE__XSD_ELEMENT_DECLARATION, oldXsdElementDeclaration, xsdElementDeclaration)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TdXmlSchema getOwnedDocument() { if (ownedDocument != null && ownedDocument.eIsProxy()) { InternalEObject oldOwnedDocument = (InternalEObject) ownedDocument; ownedDocument = (TdXmlSchema) eResolveProxy(oldOwnedDocument); if (ownedDocument != oldOwnedDocument) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, XmlPackage.TD_XML_ELEMENT_TYPE__OWNED_DOCUMENT, oldOwnedDocument, ownedDocument)); } } return ownedDocument; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TdXmlSchema basicGetOwnedDocument() { return ownedDocument; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setOwnedDocument(TdXmlSchema newOwnedDocument) { TdXmlSchema oldOwnedDocument = ownedDocument; ownedDocument = newOwnedDocument; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.TD_XML_ELEMENT_TYPE__OWNED_DOCUMENT, oldOwnedDocument, ownedDocument)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String getJavaType() { return javaType; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setJavaType(String newJavaType) { String oldJavaType = javaType; javaType = newJavaType; if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.TD_XML_ELEMENT_TYPE__JAVA_TYPE, oldJavaType, javaType)); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TdXmlContent getXmlContent() { if (xmlContent != null && xmlContent.eIsProxy()) { InternalEObject oldXmlContent = (InternalEObject) xmlContent; xmlContent = (TdXmlContent) eResolveProxy(oldXmlContent); if (xmlContent != oldXmlContent) { InternalEObject newXmlContent = (InternalEObject) xmlContent; NotificationChain msgs = oldXmlContent.eInverseRemove(this, EOPPOSITE_FEATURE_BASE - XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT, null, null); if (newXmlContent.eInternalContainer() == null) { msgs = newXmlContent.eInverseAdd(this, EOPPOSITE_FEATURE_BASE - XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT, null, msgs); } if (msgs != null) msgs.dispatch(); if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT, oldXmlContent, xmlContent)); } } return xmlContent; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public TdXmlContent basicGetXmlContent() { return xmlContent; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public NotificationChain basicSetXmlContent(TdXmlContent newXmlContent, NotificationChain msgs) { TdXmlContent oldXmlContent = xmlContent; xmlContent = newXmlContent; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT, oldXmlContent, newXmlContent); if (msgs == null) msgs = notification; else msgs.add(notification); } return msgs; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public void setXmlContent(TdXmlContent newXmlContent) { if (newXmlContent != xmlContent) { NotificationChain msgs = null; if (xmlContent != null) msgs = ((InternalEObject) xmlContent).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT, null, msgs); if (newXmlContent != null) msgs = ((InternalEObject) newXmlContent).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT, null, msgs); msgs = basicSetXmlContent(newXmlContent, msgs); if (msgs != null) msgs.dispatch(); } else if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.SET, XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT, newXmlContent, newXmlContent)); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated NOT */ public void setContentType(String contentType) { TaggedValueHelper.setTaggedValue(this, TaggedValueHelper.DATA_CONTENT_TYPE_TAGGED_VAL, contentType); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated NOT */ public String getContentType() { TaggedValue tv = TaggedValueHelper.getTaggedValue(TaggedValueHelper.DATA_CONTENT_TYPE_TAGGED_VAL, this.getTaggedValue()); if (tv == null) { return ""; } return tv.getValue(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT: return basicSetXmlContent(null, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { case XmlPackage.TD_XML_ELEMENT_TYPE__XSD_ELEMENT_DECLARATION: if (resolve) return getXsdElementDeclaration(); return basicGetXsdElementDeclaration(); case XmlPackage.TD_XML_ELEMENT_TYPE__OWNED_DOCUMENT: if (resolve) return getOwnedDocument(); return basicGetOwnedDocument(); case XmlPackage.TD_XML_ELEMENT_TYPE__JAVA_TYPE: return getJavaType(); case XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT: if (resolve) return getXmlContent(); return basicGetXmlContent(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case XmlPackage.TD_XML_ELEMENT_TYPE__XSD_ELEMENT_DECLARATION: setXsdElementDeclaration((EObject) newValue); return; case XmlPackage.TD_XML_ELEMENT_TYPE__OWNED_DOCUMENT: setOwnedDocument((TdXmlSchema) newValue); return; case XmlPackage.TD_XML_ELEMENT_TYPE__JAVA_TYPE: setJavaType((String) newValue); return; case XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT: setXmlContent((TdXmlContent) newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case XmlPackage.TD_XML_ELEMENT_TYPE__XSD_ELEMENT_DECLARATION: setXsdElementDeclaration((EObject) null); return; case XmlPackage.TD_XML_ELEMENT_TYPE__OWNED_DOCUMENT: setOwnedDocument((TdXmlSchema) null); return; case XmlPackage.TD_XML_ELEMENT_TYPE__JAVA_TYPE: setJavaType(JAVA_TYPE_EDEFAULT); return; case XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT: setXmlContent((TdXmlContent) null); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case XmlPackage.TD_XML_ELEMENT_TYPE__XSD_ELEMENT_DECLARATION: return xsdElementDeclaration != null; case XmlPackage.TD_XML_ELEMENT_TYPE__OWNED_DOCUMENT: return ownedDocument != null; case XmlPackage.TD_XML_ELEMENT_TYPE__JAVA_TYPE: return JAVA_TYPE_EDEFAULT == null ? javaType != null : !JAVA_TYPE_EDEFAULT.equals(javaType); case XmlPackage.TD_XML_ELEMENT_TYPE__XML_CONTENT: return xmlContent != null; } return super.eIsSet(featureID); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public String toString() { if (eIsProxy()) return super.toString(); StringBuffer result = new StringBuffer(super.toString()); result.append(" (javaType: "); result.append(javaType); result.append(')'); return result.toString(); } } //TdXmlElementTypeImpl