Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'restructuration/org.eclipse.emf.compare.diff/src/org/eclipse/emf/compare/diff/metamodel/impl/DiffElementImpl.java')
-rw-r--r--restructuration/org.eclipse.emf.compare.diff/src/org/eclipse/emf/compare/diff/metamodel/impl/DiffElementImpl.java466
1 files changed, 466 insertions, 0 deletions
diff --git a/restructuration/org.eclipse.emf.compare.diff/src/org/eclipse/emf/compare/diff/metamodel/impl/DiffElementImpl.java b/restructuration/org.eclipse.emf.compare.diff/src/org/eclipse/emf/compare/diff/metamodel/impl/DiffElementImpl.java
new file mode 100644
index 000000000..cd554481c
--- /dev/null
+++ b/restructuration/org.eclipse.emf.compare.diff/src/org/eclipse/emf/compare/diff/metamodel/impl/DiffElementImpl.java
@@ -0,0 +1,466 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2012 Obeo.
+ * 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:
+ * Obeo - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.diff.metamodel.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChange;
+import org.eclipse.emf.compare.diff.metamodel.ConflictingDiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+import org.eclipse.emf.compare.diff.metamodel.DifferenceKind;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeRightTarget;
+import org.eclipse.emf.compare.diff.metamodel.ReferenceChange;
+import org.eclipse.emf.compare.diff.metamodel.ResourceDependencyChangeLeftTarget;
+import org.eclipse.emf.compare.diff.metamodel.ResourceDependencyChangeRightTarget;
+import org.eclipse.emf.compare.diff.metamodel.UpdateModelElement;
+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.EObjectImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Element</b></em>'. <!-- end-user-doc
+ * -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.compare.diff.metamodel.impl.DiffElementImpl#getSubDiffElements <em>Sub Diff
+ * Elements</em>}</li>
+ * <li>{@link org.eclipse.emf.compare.diff.metamodel.impl.DiffElementImpl#getIsHiddenBy <em>Is Hidden By</em>}
+ * </li>
+ * <li>{@link org.eclipse.emf.compare.diff.metamodel.impl.DiffElementImpl#isConflicting <em>Conflicting</em>}</li>
+ * <li>{@link org.eclipse.emf.compare.diff.metamodel.impl.DiffElementImpl#getKind <em>Kind</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+
+public abstract class DiffElementImpl extends EObjectImpl implements DiffElement {
+ /**
+ * The cached value of the '{@link #getSubDiffElements() <em>Sub Diff Elements</em>}' containment
+ * reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getSubDiffElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiffElement> subDiffElements;
+
+ /**
+ * The cached value of the '{@link #getIsHiddenBy() <em>Is Hidden By</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getIsHiddenBy()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractDiffExtension> isHiddenBy;
+
+ /**
+ * The default value of the '{@link #isConflicting() <em>Conflicting</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isConflicting()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CONFLICTING_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isConflicting() <em>Conflicting</em>}' attribute. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #isConflicting()
+ * @generated
+ * @ordered
+ */
+ protected boolean conflicting = CONFLICTING_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final DifferenceKind KIND_EDEFAULT = DifferenceKind.ADDITION;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected DifferenceKind kind = KIND_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isRemote() <em>Remote</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isRemote()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REMOTE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isRemote() <em>Remote</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #isRemote()
+ * @generated
+ * @ordered
+ */
+ protected boolean remote = REMOTE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRequires() <em>Requires</em>}' reference list. <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ *
+ * @see #getRequires()
+ * @generated
+ * @ordered
+ * @since 1.3
+ */
+ protected EList<DiffElement> requires;
+
+ /**
+ * The cached value of the '{@link #getRequiredBy() <em>Required By</em>}' reference list. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getRequiredBy()
+ * @generated
+ * @ordered
+ * @since 1.3
+ */
+ protected EList<DiffElement> requiredBy;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected DiffElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS:
+ return getSubDiffElements();
+ case DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY:
+ return getIsHiddenBy();
+ case DiffPackage.DIFF_ELEMENT__CONFLICTING:
+ return isConflicting();
+ case DiffPackage.DIFF_ELEMENT__KIND:
+ return getKind();
+ case DiffPackage.DIFF_ELEMENT__REMOTE:
+ return isRemote();
+ case DiffPackage.DIFF_ELEMENT__REQUIRES:
+ return getRequires();
+ case DiffPackage.DIFF_ELEMENT__REQUIRED_BY:
+ return getRequiredBy();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getIsHiddenBy()).basicAdd(otherEnd,
+ msgs);
+ case DiffPackage.DIFF_ELEMENT__REQUIRES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRequires()).basicAdd(otherEnd,
+ msgs);
+ case DiffPackage.DIFF_ELEMENT__REQUIRED_BY:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRequiredBy()).basicAdd(otherEnd,
+ msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS:
+ return ((InternalEList<?>)getSubDiffElements()).basicRemove(otherEnd, msgs);
+ case DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY:
+ return ((InternalEList<?>)getIsHiddenBy()).basicRemove(otherEnd, msgs);
+ case DiffPackage.DIFF_ELEMENT__REQUIRES:
+ return ((InternalEList<?>)getRequires()).basicRemove(otherEnd, msgs);
+ case DiffPackage.DIFF_ELEMENT__REQUIRED_BY:
+ return ((InternalEList<?>)getRequiredBy()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS:
+ return subDiffElements != null && !subDiffElements.isEmpty();
+ case DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY:
+ return isHiddenBy != null && !isHiddenBy.isEmpty();
+ case DiffPackage.DIFF_ELEMENT__CONFLICTING:
+ return conflicting != CONFLICTING_EDEFAULT;
+ case DiffPackage.DIFF_ELEMENT__KIND:
+ return kind != KIND_EDEFAULT;
+ case DiffPackage.DIFF_ELEMENT__REMOTE:
+ return remote != REMOTE_EDEFAULT;
+ case DiffPackage.DIFF_ELEMENT__REQUIRES:
+ return requires != null && !requires.isEmpty();
+ case DiffPackage.DIFF_ELEMENT__REQUIRED_BY:
+ return requiredBy != null && !requiredBy.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS:
+ getSubDiffElements().clear();
+ getSubDiffElements().addAll((Collection<? extends DiffElement>)newValue);
+ return;
+ case DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY:
+ getIsHiddenBy().clear();
+ getIsHiddenBy().addAll((Collection<? extends AbstractDiffExtension>)newValue);
+ return;
+ case DiffPackage.DIFF_ELEMENT__REMOTE:
+ setRemote((Boolean)newValue);
+ return;
+ case DiffPackage.DIFF_ELEMENT__REQUIRES:
+ getRequires().clear();
+ getRequires().addAll((Collection<? extends DiffElement>)newValue);
+ return;
+ case DiffPackage.DIFF_ELEMENT__REQUIRED_BY:
+ getRequiredBy().clear();
+ getRequiredBy().addAll((Collection<? extends DiffElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS:
+ getSubDiffElements().clear();
+ return;
+ case DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY:
+ getIsHiddenBy().clear();
+ return;
+ case DiffPackage.DIFF_ELEMENT__REMOTE:
+ setRemote(REMOTE_EDEFAULT);
+ return;
+ case DiffPackage.DIFF_ELEMENT__REQUIRES:
+ getRequires().clear();
+ return;
+ case DiffPackage.DIFF_ELEMENT__REQUIRED_BY:
+ getRequiredBy().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<AbstractDiffExtension> getIsHiddenBy() {
+ if (isHiddenBy == null) {
+ isHiddenBy = new EObjectWithInverseResolvingEList.ManyInverse<AbstractDiffExtension>(
+ AbstractDiffExtension.class, this, DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY,
+ DiffPackage.ABSTRACT_DIFF_EXTENSION__HIDE_ELEMENTS);
+ }
+ return isHiddenBy;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public DifferenceKind getKind() {
+ if (this instanceof AttributeChange || this instanceof ReferenceChange) {
+ kind = DifferenceKind.CHANGE;
+ } else if (this instanceof ModelElementChangeRightTarget
+ || this instanceof ResourceDependencyChangeRightTarget) {
+ kind = DifferenceKind.DELETION;
+ } else if (this instanceof ModelElementChangeLeftTarget
+ || this instanceof ResourceDependencyChangeLeftTarget) {
+ kind = DifferenceKind.ADDITION;
+ } else if (this instanceof UpdateModelElement) {
+ kind = DifferenceKind.MOVE;
+ } else {
+ // default to DifferenceKind.CHANGE
+ kind = DifferenceKind.CHANGE;
+ }
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public boolean isRemote() {
+ return remote;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setRemote(boolean newRemote) {
+ boolean oldRemote = remote;
+ remote = newRemote;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DiffPackage.DIFF_ELEMENT__REMOTE,
+ oldRemote, remote));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @since 1.3
+ */
+ public EList<DiffElement> getRequires() {
+ if (requires == null) {
+ requires = new EObjectWithInverseResolvingEList.ManyInverse<DiffElement>(DiffElement.class, this,
+ DiffPackage.DIFF_ELEMENT__REQUIRES, DiffPackage.DIFF_ELEMENT__REQUIRED_BY);
+ }
+ return requires;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @since 1.3
+ */
+ public EList<DiffElement> getRequiredBy() {
+ if (requiredBy == null) {
+ requiredBy = new EObjectWithInverseResolvingEList.ManyInverse<DiffElement>(DiffElement.class,
+ this, DiffPackage.DIFF_ELEMENT__REQUIRED_BY, DiffPackage.DIFF_ELEMENT__REQUIRES);
+ }
+ return requiredBy;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EList<DiffElement> getSubDiffElements() {
+ if (subDiffElements == null) {
+ subDiffElements = new EObjectContainmentEList<DiffElement>(DiffElement.class, this,
+ DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS);
+ }
+ return subDiffElements;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public boolean isConflicting() {
+ if (eContainer() instanceof ConflictingDiffElement || this instanceof ConflictingDiffElement) {
+ conflicting = true;
+ } else {
+ conflicting = CONFLICTING_EDEFAULT;
+ }
+ return conflicting;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy())
+ return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (conflicting: "); //$NON-NLS-1$
+ result.append(conflicting);
+ result.append(", kind: "); //$NON-NLS-1$
+ result.append(kind);
+ result.append(", remote: "); //$NON-NLS-1$
+ result.append(remote);
+ result.append(')');
+ return result.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DiffPackage.Literals.DIFF_ELEMENT;
+ }
+
+} // DiffElementImpl

Back to the top