/** */ package net.gexf_1_2.gexf.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.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; import net.gexf_1_2.gexf.GexfContent; import net.gexf_1_2.gexf.GexfPackage; import net.gexf_1_2.gexf.GraphContent; import net.gexf_1_2.gexf.MetaContent; import net.gexf_1_2.gexf.VersionType; /** * <!-- begin-user-doc --> An implementation of the model object '<em><b>Content</b></em>'. <!-- end-user-doc --> * <p> * The following features are implemented: * </p> * <ul> * <li>{@link net.gexf_1_2.gexf.impl.GexfContentImpl#getMeta <em>Meta</em>}</li> * <li>{@link net.gexf_1_2.gexf.impl.GexfContentImpl#getGraph <em>Graph</em>}</li> * <li>{@link net.gexf_1_2.gexf.impl.GexfContentImpl#getVariant <em>Variant</em>}</li> * <li>{@link net.gexf_1_2.gexf.impl.GexfContentImpl#getVersion <em>Version</em>}</li> * </ul> * * @generated */ public class GexfContentImpl extends MinimalEObjectImpl.Container implements GexfContent { /** * The cached value of the '{@link #getMeta() <em>Meta</em>}' containment reference. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @see #getMeta() * @generated * @ordered */ protected MetaContent meta; /** * The cached value of the '{@link #getGraph() <em>Graph</em>}' containment reference. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @see #getGraph() * @generated * @ordered */ protected GraphContent graph; /** * The default value of the '{@link #getVariant() <em>Variant</em>}' attribute. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @see #getVariant() * @generated * @ordered */ protected static final String VARIANT_EDEFAULT = null; /** * The cached value of the '{@link #getVariant() <em>Variant</em>}' attribute. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @see #getVariant() * @generated * @ordered */ protected String variant = VARIANT_EDEFAULT; /** * The default value of the '{@link #getVersion() <em>Version</em>}' attribute. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @see #getVersion() * @generated * @ordered */ protected static final VersionType VERSION_EDEFAULT = VersionType._12; /** * The cached value of the '{@link #getVersion() <em>Version</em>}' attribute. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @see #getVersion() * @generated * @ordered */ protected VersionType version = VERSION_EDEFAULT; /** * This is true if the Version attribute has been set. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated * @ordered */ protected boolean versionESet; /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ protected GexfContentImpl() { super(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override protected EClass eStaticClass() { return GexfPackage.Literals.GEXF_CONTENT; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public MetaContent getMeta() { return meta; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public NotificationChain basicSetMeta(MetaContent newMeta, NotificationChain msgs) { MetaContent oldMeta = meta; meta = newMeta; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GexfPackage.GEXF_CONTENT__META, oldMeta, newMeta); if (msgs == null) { msgs = notification; } else { msgs.add(notification); } } return msgs; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public void setMeta(MetaContent newMeta) { if (newMeta != meta) { NotificationChain msgs = null; if (meta != null) { msgs = ((InternalEObject) meta).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GexfPackage.GEXF_CONTENT__META, null, msgs); } if (newMeta != null) { msgs = ((InternalEObject) newMeta).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GexfPackage.GEXF_CONTENT__META, null, msgs); } msgs = basicSetMeta(newMeta, msgs); if (msgs != null) { msgs.dispatch(); } } else if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, GexfPackage.GEXF_CONTENT__META, newMeta, newMeta)); } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public GraphContent getGraph() { return graph; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ public NotificationChain basicSetGraph(GraphContent newGraph, NotificationChain msgs) { GraphContent oldGraph = graph; graph = newGraph; if (eNotificationRequired()) { ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GexfPackage.GEXF_CONTENT__GRAPH, oldGraph, newGraph); if (msgs == null) { msgs = notification; } else { msgs.add(notification); } } return msgs; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public void setGraph(GraphContent newGraph) { if (newGraph != graph) { NotificationChain msgs = null; if (graph != null) { msgs = ((InternalEObject) graph).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GexfPackage.GEXF_CONTENT__GRAPH, null, msgs); } if (newGraph != null) { msgs = ((InternalEObject) newGraph).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GexfPackage.GEXF_CONTENT__GRAPH, null, msgs); } msgs = basicSetGraph(newGraph, msgs); if (msgs != null) { msgs.dispatch(); } } else if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, GexfPackage.GEXF_CONTENT__GRAPH, newGraph, newGraph)); } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public String getVariant() { return variant; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public void setVariant(String newVariant) { String oldVariant = variant; variant = newVariant; if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, GexfPackage.GEXF_CONTENT__VARIANT, oldVariant, variant)); } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public VersionType getVersion() { return version; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public void setVersion(VersionType newVersion) { VersionType oldVersion = version; version = newVersion == null ? VERSION_EDEFAULT : newVersion; boolean oldVersionESet = versionESet; versionESet = true; if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, GexfPackage.GEXF_CONTENT__VERSION, oldVersion, version, !oldVersionESet)); } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public void unsetVersion() { VersionType oldVersion = version; boolean oldVersionESet = versionESet; version = VERSION_EDEFAULT; versionESet = false; if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.UNSET, GexfPackage.GEXF_CONTENT__VERSION, oldVersion, VERSION_EDEFAULT, oldVersionESet)); } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public boolean isSetVersion() { return versionESet; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case GexfPackage.GEXF_CONTENT__META: return basicSetMeta(null, msgs); case GexfPackage.GEXF_CONTENT__GRAPH: return basicSetGraph(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 GexfPackage.GEXF_CONTENT__META: return getMeta(); case GexfPackage.GEXF_CONTENT__GRAPH: return getGraph(); case GexfPackage.GEXF_CONTENT__VARIANT: return getVariant(); case GexfPackage.GEXF_CONTENT__VERSION: return getVersion(); } return super.eGet(featureID, resolve, coreType); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public void eSet(int featureID, Object newValue) { switch (featureID) { case GexfPackage.GEXF_CONTENT__META: setMeta((MetaContent) newValue); return; case GexfPackage.GEXF_CONTENT__GRAPH: setGraph((GraphContent) newValue); return; case GexfPackage.GEXF_CONTENT__VARIANT: setVariant((String) newValue); return; case GexfPackage.GEXF_CONTENT__VERSION: setVersion((VersionType) newValue); return; } super.eSet(featureID, newValue); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public void eUnset(int featureID) { switch (featureID) { case GexfPackage.GEXF_CONTENT__META: setMeta((MetaContent) null); return; case GexfPackage.GEXF_CONTENT__GRAPH: setGraph((GraphContent) null); return; case GexfPackage.GEXF_CONTENT__VARIANT: setVariant(VARIANT_EDEFAULT); return; case GexfPackage.GEXF_CONTENT__VERSION: unsetVersion(); return; } super.eUnset(featureID); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated */ @Override public boolean eIsSet(int featureID) { switch (featureID) { case GexfPackage.GEXF_CONTENT__META: return meta != null; case GexfPackage.GEXF_CONTENT__GRAPH: return graph != null; case GexfPackage.GEXF_CONTENT__VARIANT: return VARIANT_EDEFAULT == null ? variant != null : !VARIANT_EDEFAULT.equals(variant); case GexfPackage.GEXF_CONTENT__VERSION: return isSetVersion(); } 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(" (variant: "); result.append(variant); result.append(", version: "); if (versionESet) { result.append(version); } else { result.append("<unset>"); } result.append(')'); return result.toString(); } } // GexfContentImpl