diff options
author | Axel Richard | 2013-02-01 15:08:06 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2013-02-12 07:00:45 +0000 |
commit | 4ee5ece3d9292ea5a3f7703fbf060380e23b89cd (patch) | |
tree | 5516bb85e222c09263371976fb508fd946a8e6d5 | |
parent | f8e69e5b12046badbafc4da2b5ee6870bf0ac69d (diff) | |
download | org.eclipse.emf.compare-4ee5ece3d9292ea5a3f7703fbf060380e23b89cd.tar.gz org.eclipse.emf.compare-4ee5ece3d9292ea5a3f7703fbf060380e23b89cd.tar.xz org.eclipse.emf.compare-4ee5ece3d9292ea5a3f7703fbf060380e23b89cd.zip |
[399456] Managed enhance readability of Resource Attachment Change
- The left and right content viewer parts are now displaying the content
of the fragmented resource in case of the resource attachment change
involved a fragmented resource.
- The resource attachment changes are now displayed under their
associated match resource.
- The filter Resource Mappings is now filtering out only match resources
which don't contain resource attachment changes.
- Add a new eOpposite reference (opposite of matchedResources of
Comparison) on the MatchResource eClass of the compare.ecore metamodel
Change-Id: Ide411601025101b1f93b22855e0c5668b5b8b79b
19 files changed, 5170 insertions, 5009 deletions
diff --git a/plugins/org.eclipse.emf.compare.edit/plugin.properties b/plugins/org.eclipse.emf.compare.edit/plugin.properties index cfc399b97..85f997260 100644 --- a/plugins/org.eclipse.emf.compare.edit/plugin.properties +++ b/plugins/org.eclipse.emf.compare.edit/plugin.properties @@ -1,83 +1,84 @@ -# Copyright (c) 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
-
-pluginName = Compare Edit Support
-providerName = Eclipse Modeling Project
-
-_UI_CreateChild_text = {0}
-_UI_CreateChild_text2 = {1} {0}
-_UI_CreateChild_text3 = {1}
-_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
-_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
-_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
-
-_UI_PropertyDescriptor_description = The {0} of the {1}
-
-_UI_Comparison_type = Comparison
-_UI_MatchResource_type = Match Resource
-_UI_Match_type = Match
-_UI_Diff_type = Diff
-_UI_ResourceAttachmentChange_type = Resource Attachment Change
-_UI_ReferenceChange_type = Reference Change
-_UI_AttributeChange_type = Attribute Change
-_UI_Conflict_type = Conflict
-_UI_Equivalence_type = Equivalence
-_UI_Unknown_type = Object
-
-_UI_Unknown_datatype= Value
-
-_UI_Comparison_matchedResources_feature = Matched Resources
-_UI_Comparison_matches_feature = Matches
-_UI_Comparison_conflicts_feature = Conflicts
-_UI_MatchResource_leftURI_feature = Left URI
-_UI_MatchResource_rightURI_feature = Right URI
-_UI_MatchResource_originURI_feature = Origin URI
-_UI_Match_subMatches_feature = Sub Matches
-_UI_Match_differences_feature = Differences
-_UI_Match_left_feature = Left
-_UI_Match_right_feature = Right
-_UI_Match_origin_feature = Origin
-_UI_Diff_match_feature = Match
-_UI_Diff_requires_feature = Requires
-_UI_Diff_requiredBy_feature = Required By
-_UI_Diff_refines_feature = Refines
-_UI_Diff_refinedBy_feature = Refined By
-_UI_Diff_kind_feature = Kind
-_UI_Diff_equivalentDiffs_feature = Equivalent Diffs
-_UI_Diff_conflict_feature = Conflict
-_UI_ResourceAttachmentChange_resourceURI_feature = Resource URI
-_UI_ReferenceChange_reference_feature = Reference
-_UI_ReferenceChange_value_feature = Value
-_UI_AttributeChange_attribute_feature = Attribute
-_UI_AttributeChange_value_feature = Value
-_UI_Conflict_differences_feature = Differences
-_UI_Equivalence_differences_feature = Differences
-_UI_Unknown_feature = Unspecified
-
-_UI_DifferenceKind_ADD_literal = ADD
-_UI_DifferenceKind_DELETE_literal = DELETE
-_UI_DifferenceKind_CHANGE_literal = CHANGE
-_UI_DifferenceKind_MOVE_literal = MOVE
-_UI_DifferenceSource_LEFT_literal = LEFT
-_UI_DifferenceSource_RIGHT_literal = RIGHT
-_UI_Match_submatches_feature = Submatches
-_UI_Diff_source_feature = Source
-_UI_MatchResource_left_feature = Left
-_UI_MatchResource_right_feature = Right
-_UI_MatchResource_origin_feature = Origin
-_UI_Diff_equivalence_feature = Equivalence
-_UI_Conflict_kind_feature = Kind
-_UI_ConflictKind_REAL_literal = REAL
-_UI_ConflictKind_PSEUDO_literal = PSEUDO
-_UI_Comparison_equivalences_feature = Equivalences
-_UI_Diff_state_feature = State
-_UI_DifferenceState_UNRESOLVED_literal = UNRESOLVED
-_UI_DifferenceState_MERGED_literal = MERGED
-_UI_DifferenceState_DISCARDED_literal = DISCARDED
-_UI_Comparison_threeWay_feature = Three Way
+# Copyright (c) 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 + +pluginName = Compare Edit Support +providerName = Eclipse Modeling Project + +_UI_CreateChild_text = {0} +_UI_CreateChild_text2 = {1} {0} +_UI_CreateChild_text3 = {1} +_UI_CreateChild_tooltip = Create New {0} Under {1} Feature +_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}. +_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent. + +_UI_PropertyDescriptor_description = The {0} of the {1} + +_UI_Comparison_type = Comparison +_UI_MatchResource_type = Match Resource +_UI_Match_type = Match +_UI_Diff_type = Diff +_UI_ResourceAttachmentChange_type = Resource Attachment Change +_UI_ReferenceChange_type = Reference Change +_UI_AttributeChange_type = Attribute Change +_UI_Conflict_type = Conflict +_UI_Equivalence_type = Equivalence +_UI_Unknown_type = Object + +_UI_Unknown_datatype= Value + +_UI_Comparison_matchedResources_feature = Matched Resources +_UI_Comparison_matches_feature = Matches +_UI_Comparison_conflicts_feature = Conflicts +_UI_MatchResource_leftURI_feature = Left URI +_UI_MatchResource_rightURI_feature = Right URI +_UI_MatchResource_originURI_feature = Origin URI +_UI_Match_subMatches_feature = Sub Matches +_UI_Match_differences_feature = Differences +_UI_Match_left_feature = Left +_UI_Match_right_feature = Right +_UI_Match_origin_feature = Origin +_UI_Diff_match_feature = Match +_UI_Diff_requires_feature = Requires +_UI_Diff_requiredBy_feature = Required By +_UI_Diff_refines_feature = Refines +_UI_Diff_refinedBy_feature = Refined By +_UI_Diff_kind_feature = Kind +_UI_Diff_equivalentDiffs_feature = Equivalent Diffs +_UI_Diff_conflict_feature = Conflict +_UI_ResourceAttachmentChange_resourceURI_feature = Resource URI +_UI_ReferenceChange_reference_feature = Reference +_UI_ReferenceChange_value_feature = Value +_UI_AttributeChange_attribute_feature = Attribute +_UI_AttributeChange_value_feature = Value +_UI_Conflict_differences_feature = Differences +_UI_Equivalence_differences_feature = Differences +_UI_Unknown_feature = Unspecified + +_UI_DifferenceKind_ADD_literal = ADD +_UI_DifferenceKind_DELETE_literal = DELETE +_UI_DifferenceKind_CHANGE_literal = CHANGE +_UI_DifferenceKind_MOVE_literal = MOVE +_UI_DifferenceSource_LEFT_literal = LEFT +_UI_DifferenceSource_RIGHT_literal = RIGHT +_UI_Match_submatches_feature = Submatches +_UI_Diff_source_feature = Source +_UI_MatchResource_left_feature = Left +_UI_MatchResource_right_feature = Right +_UI_MatchResource_origin_feature = Origin +_UI_Diff_equivalence_feature = Equivalence +_UI_Conflict_kind_feature = Kind +_UI_ConflictKind_REAL_literal = REAL +_UI_ConflictKind_PSEUDO_literal = PSEUDO +_UI_Comparison_equivalences_feature = Equivalences +_UI_Diff_state_feature = State +_UI_DifferenceState_UNRESOLVED_literal = UNRESOLVED +_UI_DifferenceState_MERGED_literal = MERGED +_UI_DifferenceState_DISCARDED_literal = DISCARDED +_UI_Comparison_threeWay_feature = Three Way +_UI_MatchResource_comparison_feature = Comparison diff --git a/plugins/org.eclipse.emf.compare.edit/src-gen/org/eclipse/emf/compare/provider/EMFCompareEditPlugin.java b/plugins/org.eclipse.emf.compare.edit/src-gen/org/eclipse/emf/compare/provider/EMFCompareEditPlugin.java index 4054e25cd..a998adfe2 100644 --- a/plugins/org.eclipse.emf.compare.edit/src-gen/org/eclipse/emf/compare/provider/EMFCompareEditPlugin.java +++ b/plugins/org.eclipse.emf.compare.edit/src-gen/org/eclipse/emf/compare/provider/EMFCompareEditPlugin.java @@ -1,101 +1,101 @@ -/**
- * Copyright (c) 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.provider;
-
-import org.eclipse.emf.common.EMFPlugin;
-import org.eclipse.emf.common.util.ResourceLocator;
-import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
-
-/**
- * This is the central singleton for the Compare edit plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
-public final class EMFCompareEditPlugin extends EMFPlugin {
-
- /**
- * The plug-in ID.
- *
- * @since 3.0
- */
- public static final String PLUGIN_ID = "org.eclipse.emf.compare.edit"; //$NON-NLS-1$
-
- /**
- *
- * @generated
- */
- public static final String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$
-
- /**
- * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public static final EMFCompareEditPlugin INSTANCE = new EMFCompareEditPlugin();
-
- /**
- * Keep track of the singleton. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private static Implementation plugin;
-
- /**
- * Create the instance. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EMFCompareEditPlugin() {
- super(new ResourceLocator[] {EcoreEditPlugin.INSTANCE, });
- }
-
- /**
- * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @return the singleton instance.
- * @generated
- */
- @Override
- public ResourceLocator getPluginResourceLocator() {
- return plugin;
- }
-
- /**
- * Returns the singleton instance of the Eclipse plugin. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @return the singleton instance.
- * @generated
- */
- public static Implementation getPlugin() {
- return plugin;
- }
-
- /**
- * The actual implementation of the Eclipse <b>Plugin</b>. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public static class Implementation extends EclipsePlugin {
- /**
- * Creates an instance. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Implementation() {
- super();
-
- // Remember the static instance.
- //
- plugin = this;
- }
- }
-
-}
+/** + * Copyright (c) 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.provider; + +import org.eclipse.emf.common.EMFPlugin; +import org.eclipse.emf.common.util.ResourceLocator; +import org.eclipse.emf.ecore.provider.EcoreEditPlugin; + +/** + * This is the central singleton for the Compare edit plugin. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ +public final class EMFCompareEditPlugin extends EMFPlugin { + + /** + * The plug-in ID. + * + * @since 3.0 + */ + public static final String PLUGIN_ID = "org.eclipse.emf.compare.edit"; //$NON-NLS-1$ + + /** + * + * @generated + */ + public static final String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$ + + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public static final EMFCompareEditPlugin INSTANCE = new EMFCompareEditPlugin(); + + /** + * Keep track of the singleton. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EMFCompareEditPlugin() { + super(new ResourceLocator[] {EcoreEditPlugin.INSTANCE, }); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse <b>Plugin</b>. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public static class Implementation extends EclipsePlugin { + /** + * Creates an instance. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ComparisonItemProviderSpec.java b/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ComparisonItemProviderSpec.java index 9caf4a00e..8e4c1402d 100644 --- a/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ComparisonItemProviderSpec.java +++ b/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ComparisonItemProviderSpec.java @@ -16,7 +16,6 @@ import static com.google.common.collect.Iterables.isEmpty; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import java.util.Collection; @@ -74,11 +73,8 @@ public class ComparisonItemProviderSpec extends ComparisonItemProvider implement List<EObject> children = Lists.newArrayList(matches); for (EObject match : matches) { EList<Diff> differences = ((Match)match).getDifferences(); - Iterable<ResourceAttachmentChange> resourcesAttachmentChanges = filter(differences, - ResourceAttachmentChange.class); - if (!isEmpty(resourcesAttachmentChanges)) { + if (!isEmpty(filter(differences, ResourceAttachmentChange.class))) { children.remove(match); - Iterables.addAll(children, resourcesAttachmentChanges); } } diff --git a/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/MatchItemProviderSpec.java b/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/MatchItemProviderSpec.java index 7fd6d7397..f00268299 100644 --- a/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/MatchItemProviderSpec.java +++ b/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/MatchItemProviderSpec.java @@ -1,272 +1,274 @@ -/*******************************************************************************
- * Copyright (c) 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.provider.spec;
-
-import static com.google.common.base.Predicates.not;
-import static com.google.common.base.Predicates.or;
-import static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Iterables.isEmpty;
-import static com.google.common.collect.Iterables.transform;
-
-import com.google.common.base.Function;
-import com.google.common.base.Predicate;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.compare.Conflict;
-import org.eclipse.emf.compare.ConflictKind;
-import org.eclipse.emf.compare.Diff;
-import org.eclipse.emf.compare.Match;
-import org.eclipse.emf.compare.ReferenceChange;
-import org.eclipse.emf.compare.provider.AdapterFactoryUtil;
-import org.eclipse.emf.compare.provider.IItemStyledLabelProvider;
-import org.eclipse.emf.compare.provider.MatchItemProvider;
-import org.eclipse.emf.compare.provider.utils.ComposedStyledString;
-import org.eclipse.emf.compare.provider.utils.IStyledString;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * Specialized {@link MatchItemProvider} returning nice output for {@link #getText(Object)} and
- * {@link #getImage(Object)}.
- *
- * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
- */
-public class MatchItemProviderSpec extends MatchItemProvider implements IItemStyledLabelProvider {
-
- private static final Predicate<ReferenceChange> CONTAINMENT_REFERENCE_CHANGE = new Predicate<ReferenceChange>() {
- public boolean apply(ReferenceChange input) {
- return input.getReference().isContainment();
- }
- };
-
- private static final Function<ReferenceChange, EObject> VALUE = new Function<ReferenceChange, EObject>() {
- public EObject apply(ReferenceChange input) {
- return input.getValue();
- }
- };
-
- private final OverlayImageProvider overlayProvider;
-
- /**
- * Constructor calling super {@link #MatchItemProvider(AdapterFactory)}.
- *
- * @param adapterFactory
- * the adapter factory
- */
- public MatchItemProviderSpec(AdapterFactory adapterFactory) {
- super(adapterFactory);
- overlayProvider = new OverlayImageProvider(getResourceLocator(), true);
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.compare.provider.MatchItemProvider#getImage(java.lang.Object)
- */
- @Override
- public Object getImage(Object object) {
- Match match = (Match)object;
- Object ret = AdapterFactoryUtil.getImage(getRootAdapterFactory(), match.getLeft());
-
- if (ret == null) {
- ret = AdapterFactoryUtil.getImage(getRootAdapterFactory(), match.getRight());
- }
-
- if (ret == null) {
- ret = AdapterFactoryUtil.getImage(getRootAdapterFactory(), match.getOrigin());
- }
-
- if (ret == null) {
- ret = super.getImage(object);
- }
-
- Object matchImage = overlayProvider.getComposedImage(match, ret);
- ret = overlayImage(object, matchImage);
-
- return ret;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.compare.provider.MatchItemProvider#getText(java.lang.Object)
- */
- @Override
- public String getText(Object object) {
- Match match = (Match)object;
- String ret = AdapterFactoryUtil.getText(getRootAdapterFactory(), match.getLeft());
-
- if (ret == null) {
- ret = AdapterFactoryUtil.getText(getRootAdapterFactory(), match.getRight());
- }
-
- if (ret == null) {
- ret = AdapterFactoryUtil.getText(getRootAdapterFactory(), match.getOrigin());
- }
-
- if (ret == null) {
- ret = super.getText(object);
- }
-
- return ret;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#getChildren(java.lang.Object)
- */
- @Override
- public Collection<?> getChildren(Object object) {
- Match match = (Match)object;
- Iterable<?> filteredChildren = getChildrenIterable(match);
- return ImmutableList.copyOf(filteredChildren);
- }
-
- Iterable<?> getChildrenIterable(Match match) {
- ImmutableSet<EObject> containementDifferenceValues = containmentReferencesValues(match);
-
- @SuppressWarnings("unchecked")
- Predicate<Object> childrenFilter = not(or(matchOfContainmentDiff(containementDifferenceValues),
- matchWithNoChildren(), emptyMatch(), PSEUDO_CONFLICT_DIFF, REFINED_DIFF,
- PSEUDO_DELETE_CONFLICT));
-
- Iterable<?> filteredChildren = filter(super.getChildren(match), childrenFilter);
- return filteredChildren;
- }
-
- private ImmutableSet<EObject> containmentReferencesValues(Match match) {
- EList<Diff> differences = match.getDifferences();
- Iterable<ReferenceChange> containmentReferenceChanges = filter(filter(differences,
- ReferenceChange.class), CONTAINMENT_REFERENCE_CHANGE);
- ImmutableSet<EObject> containementDifferenceValues = ImmutableSet.copyOf(transform(
- containmentReferenceChanges, VALUE));
- return containementDifferenceValues;
- }
-
- private static Predicate<? super Object> matchOfContainmentDiff(
- final ImmutableSet<EObject> containementDifferenceValues) {
- return new Predicate<Object>() {
- public boolean apply(Object input) {
- boolean ret = false;
- if (input instanceof Match) {
- Match match = (Match)input;
- if (containementDifferenceValues.contains(match.getLeft())
- || containementDifferenceValues.contains(match.getRight())
- || containementDifferenceValues.contains(match.getOrigin())) {
- ret = true;
- }
- }
- return ret;
- }
- };
- }
-
- private Predicate<? super Object> matchWithNoChildren() {
- return new Predicate<Object>() {
- public boolean apply(Object input) {
- boolean ret = false;
- if (input instanceof Match) {
- Match match = (Match)input;
- ret = Iterables.isEmpty(MatchItemProviderSpec.this.getChildrenIterable(match));
- }
- return ret;
- }
- };
- }
-
- private static Predicate<? super Object> emptyMatch() {
- return new Predicate<Object>() {
- public boolean apply(Object input) {
- if (input instanceof Match) {
- final Match match = ((Match)input);
- return match.getLeft() == null && match.getRight() == null && match.getOrigin() == null;
- }
- return false;
- }
- };
- }
-
- static final Predicate<? super Object> REFINED_DIFF = new Predicate<Object>() {
- public boolean apply(Object input) {
- boolean ret = false;
- if (input instanceof Diff) {
- Diff diff = (Diff)input;
- ret = !diff.getRefines().isEmpty();
- }
- return ret;
- }
- };
-
- private static final Predicate<? super Object> PSEUDO_CONFLICT_DIFF = new Predicate<Object>() {
- public boolean apply(Object input) {
- boolean ret = false;
- if (input instanceof Diff) {
- Diff diff = (Diff)input;
- Conflict conflict = diff.getConflict();
- if (conflict != null && conflict.getKind() == ConflictKind.PSEUDO) {
- ret = true;
- }
- }
- return ret;
- }
- };
-
- private static final Predicate<? super Object> PSEUDO_DELETE_CONFLICT = new Predicate<Object>() {
- public boolean apply(Object input) {
- boolean ret = false;
- if (input instanceof ReferenceChange) {
- ReferenceChange referenceChange = (ReferenceChange)input;
- Conflict conflict = referenceChange.getConflict();
- if (conflict != null) {
- EReference eReference = referenceChange.getReference();
- EObject value = referenceChange.getValue();
- Iterable<ReferenceChange> conflictualReferenceChanges = filter(conflict.getDifferences(),
- ReferenceChange.class);
- for (ReferenceChange conflictualReferenceChange : conflictualReferenceChanges) {
- if (conflictualReferenceChange != referenceChange
- && conflictualReferenceChange.getReference() == eReference
- && conflictualReferenceChange.getValue() == value) {
- ret = true;
- }
- }
- }
- }
- return ret;
- }
- };
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#hasChildren(java.lang.Object)
- */
- @Override
- public boolean hasChildren(Object object) {
- Match match = (Match)object;
- return !isEmpty(getChildrenIterable(match));
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.compare.provider.IItemStyledLabelProvider#getStyledText(java.lang.Object)
- */
- public IStyledString.IComposedStyledString getStyledText(Object object) {
- return new ComposedStyledString(getText(object));
- }
-}
+/******************************************************************************* + * Copyright (c) 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.provider.spec; + +import static com.google.common.base.Predicates.instanceOf; +import static com.google.common.base.Predicates.not; +import static com.google.common.base.Predicates.or; +import static com.google.common.collect.Iterables.filter; +import static com.google.common.collect.Iterables.isEmpty; +import static com.google.common.collect.Iterables.transform; + +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Iterables; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.compare.Conflict; +import org.eclipse.emf.compare.ConflictKind; +import org.eclipse.emf.compare.Diff; +import org.eclipse.emf.compare.Match; +import org.eclipse.emf.compare.ReferenceChange; +import org.eclipse.emf.compare.ResourceAttachmentChange; +import org.eclipse.emf.compare.provider.AdapterFactoryUtil; +import org.eclipse.emf.compare.provider.IItemStyledLabelProvider; +import org.eclipse.emf.compare.provider.MatchItemProvider; +import org.eclipse.emf.compare.provider.utils.ComposedStyledString; +import org.eclipse.emf.compare.provider.utils.IStyledString; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; + +/** + * Specialized {@link MatchItemProvider} returning nice output for {@link #getText(Object)} and + * {@link #getImage(Object)}. + * + * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a> + */ +public class MatchItemProviderSpec extends MatchItemProvider implements IItemStyledLabelProvider { + + private static final Predicate<ReferenceChange> CONTAINMENT_REFERENCE_CHANGE = new Predicate<ReferenceChange>() { + public boolean apply(ReferenceChange input) { + return input.getReference().isContainment(); + } + }; + + private static final Function<ReferenceChange, EObject> VALUE = new Function<ReferenceChange, EObject>() { + public EObject apply(ReferenceChange input) { + return input.getValue(); + } + }; + + private final OverlayImageProvider overlayProvider; + + /** + * Constructor calling super {@link #MatchItemProvider(AdapterFactory)}. + * + * @param adapterFactory + * the adapter factory + */ + public MatchItemProviderSpec(AdapterFactory adapterFactory) { + super(adapterFactory); + overlayProvider = new OverlayImageProvider(getResourceLocator(), true); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.compare.provider.MatchItemProvider#getImage(java.lang.Object) + */ + @Override + public Object getImage(Object object) { + Match match = (Match)object; + Object ret = AdapterFactoryUtil.getImage(getRootAdapterFactory(), match.getLeft()); + + if (ret == null) { + ret = AdapterFactoryUtil.getImage(getRootAdapterFactory(), match.getRight()); + } + + if (ret == null) { + ret = AdapterFactoryUtil.getImage(getRootAdapterFactory(), match.getOrigin()); + } + + if (ret == null) { + ret = super.getImage(object); + } + + Object matchImage = overlayProvider.getComposedImage(match, ret); + ret = overlayImage(object, matchImage); + + return ret; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.compare.provider.MatchItemProvider#getText(java.lang.Object) + */ + @Override + public String getText(Object object) { + Match match = (Match)object; + String ret = AdapterFactoryUtil.getText(getRootAdapterFactory(), match.getLeft()); + + if (ret == null) { + ret = AdapterFactoryUtil.getText(getRootAdapterFactory(), match.getRight()); + } + + if (ret == null) { + ret = AdapterFactoryUtil.getText(getRootAdapterFactory(), match.getOrigin()); + } + + if (ret == null) { + ret = super.getText(object); + } + + return ret; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#getChildren(java.lang.Object) + */ + @Override + public Collection<?> getChildren(Object object) { + Match match = (Match)object; + Iterable<?> filteredChildren = getChildrenIterable(match); + return ImmutableList.copyOf(filteredChildren); + } + + Iterable<?> getChildrenIterable(Match match) { + ImmutableSet<EObject> containementDifferenceValues = containmentReferencesValues(match); + + @SuppressWarnings("unchecked") + Predicate<Object> childrenFilter = not(or(matchOfContainmentDiff(containementDifferenceValues), + matchWithNoChildren(), emptyMatch(), PSEUDO_CONFLICT_DIFF, REFINED_DIFF, + PSEUDO_DELETE_CONFLICT, instanceOf(ResourceAttachmentChange.class))); + + Iterable<?> filteredChildren = filter(super.getChildren(match), childrenFilter); + return filteredChildren; + } + + private ImmutableSet<EObject> containmentReferencesValues(Match match) { + EList<Diff> differences = match.getDifferences(); + Iterable<ReferenceChange> containmentReferenceChanges = filter(filter(differences, + ReferenceChange.class), CONTAINMENT_REFERENCE_CHANGE); + ImmutableSet<EObject> containementDifferenceValues = ImmutableSet.copyOf(transform( + containmentReferenceChanges, VALUE)); + return containementDifferenceValues; + } + + private static Predicate<? super Object> matchOfContainmentDiff( + final ImmutableSet<EObject> containementDifferenceValues) { + return new Predicate<Object>() { + public boolean apply(Object input) { + boolean ret = false; + if (input instanceof Match) { + Match match = (Match)input; + if (containementDifferenceValues.contains(match.getLeft()) + || containementDifferenceValues.contains(match.getRight()) + || containementDifferenceValues.contains(match.getOrigin())) { + ret = true; + } + } + return ret; + } + }; + } + + private Predicate<? super Object> matchWithNoChildren() { + return new Predicate<Object>() { + public boolean apply(Object input) { + boolean ret = false; + if (input instanceof Match) { + Match match = (Match)input; + ret = Iterables.isEmpty(MatchItemProviderSpec.this.getChildrenIterable(match)); + } + return ret; + } + }; + } + + private static Predicate<? super Object> emptyMatch() { + return new Predicate<Object>() { + public boolean apply(Object input) { + if (input instanceof Match) { + final Match match = ((Match)input); + return match.getLeft() == null && match.getRight() == null && match.getOrigin() == null; + } + return false; + } + }; + } + + static final Predicate<? super Object> REFINED_DIFF = new Predicate<Object>() { + public boolean apply(Object input) { + boolean ret = false; + if (input instanceof Diff) { + Diff diff = (Diff)input; + ret = !diff.getRefines().isEmpty(); + } + return ret; + } + }; + + private static final Predicate<? super Object> PSEUDO_CONFLICT_DIFF = new Predicate<Object>() { + public boolean apply(Object input) { + boolean ret = false; + if (input instanceof Diff) { + Diff diff = (Diff)input; + Conflict conflict = diff.getConflict(); + if (conflict != null && conflict.getKind() == ConflictKind.PSEUDO) { + ret = true; + } + } + return ret; + } + }; + + private static final Predicate<? super Object> PSEUDO_DELETE_CONFLICT = new Predicate<Object>() { + public boolean apply(Object input) { + boolean ret = false; + if (input instanceof ReferenceChange) { + ReferenceChange referenceChange = (ReferenceChange)input; + Conflict conflict = referenceChange.getConflict(); + if (conflict != null) { + EReference eReference = referenceChange.getReference(); + EObject value = referenceChange.getValue(); + Iterable<ReferenceChange> conflictualReferenceChanges = filter(conflict.getDifferences(), + ReferenceChange.class); + for (ReferenceChange conflictualReferenceChange : conflictualReferenceChanges) { + if (conflictualReferenceChange != referenceChange + && conflictualReferenceChange.getReference() == eReference + && conflictualReferenceChange.getValue() == value) { + ret = true; + } + } + } + } + return ret; + } + }; + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#hasChildren(java.lang.Object) + */ + @Override + public boolean hasChildren(Object object) { + Match match = (Match)object; + return !isEmpty(getChildrenIterable(match)); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.compare.provider.IItemStyledLabelProvider#getStyledText(java.lang.Object) + */ + public IStyledString.IComposedStyledString getStyledText(Object object) { + return new ComposedStyledString(getText(object)); + } +} diff --git a/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/MatchResourceItemProviderSpec.java b/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/MatchResourceItemProviderSpec.java index 828c03484..90c5fbc15 100644 --- a/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/MatchResourceItemProviderSpec.java +++ b/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/MatchResourceItemProviderSpec.java @@ -1,144 +1,168 @@ -/*******************************************************************************
- * Copyright (c) 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.provider.spec;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.compare.Comparison;
-import org.eclipse.emf.compare.MatchResource;
-import org.eclipse.emf.compare.provider.IItemStyledLabelProvider;
-import org.eclipse.emf.compare.provider.MatchResourceItemProvider;
-import org.eclipse.emf.compare.provider.utils.ComposedStyledString;
-import org.eclipse.emf.compare.provider.utils.IStyledString;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-
-/**
- * Specialized {@link MatchResourceItemProvider} returning nice output for {@link #getText(Object)} and
- * {@link #getImage(Object)}.
- *
- * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
- */
-public class MatchResourceItemProviderSpec extends MatchResourceItemProvider implements IItemStyledLabelProvider {
-
- /**
- * Constructor calling super {@link #MatchResourceItemProviderSpec(AdapterFactory)}.
- *
- * @param adapterFactory
- * the adapter factory
- */
- public MatchResourceItemProviderSpec(AdapterFactory adapterFactory) {
- super(adapterFactory);
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.compare.provider.MatchResourceItemProvider#getText(java.lang.Object)
- */
- @Override
- public String getText(Object object) {
- final MatchResource matchResource = (MatchResource)object;
- final String leftURI = matchResource.getLeftURI();
- final String rightURI = matchResource.getRightURI();
-
- final String commonBase = getCommonBase(leftURI, rightURI);
-
- String text = ""; //$NON-NLS-1$
- if (leftURI != null) {
- text += leftURI.substring(commonBase.length());
- }
- text += " <-> "; //$NON-NLS-1$
- if (rightURI != null) {
- text += rightURI.substring(commonBase.length());
- }
- if (matchResource.eContainer() instanceof Comparison
- && ((Comparison)matchResource.eContainer()).isThreeWay()) {
- final String originURI = matchResource.getOriginURI();
- text += " (" + originURI.substring(commonBase.length()) + ")"; //$NON-NLS-1$ //$NON-NLS-2$
- }
- return text;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.compare.provider.MatchResourceItemProvider#getImage(java.lang.Object)
- */
- @Override
- public Object getImage(Object object) {
- final MatchResource matchResource = (MatchResource)object;
- Resource resource = matchResource.getLeft();
- if (resource == null) {
- resource = matchResource.getRight();
- if (resource == null) {
- resource = matchResource.getOrigin();
- }
- }
-
- if (resource != null) {
- IItemLabelProvider itemLabelProvider = (IItemLabelProvider)getRootAdapterFactory().adapt(
- resource, IItemLabelProvider.class);
-
- Object image = itemLabelProvider.getImage(resource);
- if (image != null) {
- return image;
- } else {
- return super.getImage(object);
- }
- } else {
- return super.getImage(object);
- }
- }
-
- /**
- * Returns the longest common starting substring of the two given strings.
- *
- * @param left
- * First of the two strings for which we need the common starting substring.
- * @param right
- * Second of the two strings for which we need the common starting substring.
- * @return The longest common starting substring of the two given strings.
- */
- public String getCommonBase(String left, String right) {
- if (left == null || right == null) {
- return ""; //$NON-NLS-1$
- }
-
- final char[] leftChars = left.toCharArray();
- final char[] rightChars = right.toCharArray();
-
- final StringBuilder buffer = new StringBuilder();
- StringBuilder fragmentBuffer = new StringBuilder();
- for (int i = 0; i < Math.min(leftChars.length, rightChars.length); i++) {
- if (leftChars[i] == rightChars[i]) {
- fragmentBuffer.append(leftChars[i]);
-
- if (leftChars[i] == '\\' || leftChars[i] == '/') {
- buffer.append(fragmentBuffer);
- fragmentBuffer = new StringBuilder();
- }
- } else {
- break;
- }
- }
-
- return buffer.toString();
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.compare.provider.IItemStyledLabelProvider#getStyledText(java.lang.Object)
- */
- public IStyledString.IComposedStyledString getStyledText(Object object) {
- return new ComposedStyledString(getText(object));
- }
-}
+/******************************************************************************* + * Copyright (c) 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.provider.spec; + +import static com.google.common.collect.Iterables.filter; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.compare.Comparison; +import org.eclipse.emf.compare.MatchResource; +import org.eclipse.emf.compare.ResourceAttachmentChange; +import org.eclipse.emf.compare.provider.IItemStyledLabelProvider; +import org.eclipse.emf.compare.provider.MatchResourceItemProvider; +import org.eclipse.emf.compare.provider.utils.ComposedStyledString; +import org.eclipse.emf.compare.provider.utils.IStyledString; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.edit.provider.IItemLabelProvider; + +/** + * Specialized {@link MatchResourceItemProvider} returning nice output for {@link #getText(Object)} and + * {@link #getImage(Object)}. + * + * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a> + */ +public class MatchResourceItemProviderSpec extends MatchResourceItemProvider implements IItemStyledLabelProvider { + + /** + * Constructor calling super {@link #MatchResourceItemProviderSpec(AdapterFactory)}. + * + * @param adapterFactory + * the adapter factory + */ + public MatchResourceItemProviderSpec(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + @Override + public Collection<?> getChildren(Object object) { + Collection<Object> children = new ArrayList<Object>(); + MatchResource matchResource = (MatchResource)object; + Comparison comparison = matchResource.getComparison(); + for (ResourceAttachmentChange rac : filter(comparison.getDifferences(), + ResourceAttachmentChange.class)) { + final String diffResourceURI = rac.getResourceURI(); + if (diffResourceURI != null + && (diffResourceURI.equals(matchResource.getLeftURI()) + || diffResourceURI.equals(matchResource.getRightURI()) || diffResourceURI + .equals(matchResource.getOriginURI()))) { + children.add(rac); + } + } + return children; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.compare.provider.MatchResourceItemProvider#getText(java.lang.Object) + */ + @Override + public String getText(Object object) { + final MatchResource matchResource = (MatchResource)object; + final String leftURI = matchResource.getLeftURI(); + final String rightURI = matchResource.getRightURI(); + + final String commonBase = getCommonBase(leftURI, rightURI); + + String text = ""; //$NON-NLS-1$ + if (leftURI != null) { + text += leftURI.substring(commonBase.length()); + } + text += " <-> "; //$NON-NLS-1$ + if (rightURI != null) { + text += rightURI.substring(commonBase.length()); + } + if (matchResource.eContainer() instanceof Comparison + && ((Comparison)matchResource.eContainer()).isThreeWay()) { + final String originURI = matchResource.getOriginURI(); + text += " (" + originURI.substring(commonBase.length()) + ")"; //$NON-NLS-1$ //$NON-NLS-2$ + } + return text; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.compare.provider.MatchResourceItemProvider#getImage(java.lang.Object) + */ + @Override + public Object getImage(Object object) { + final MatchResource matchResource = (MatchResource)object; + Resource resource = matchResource.getLeft(); + if (resource == null) { + resource = matchResource.getRight(); + if (resource == null) { + resource = matchResource.getOrigin(); + } + } + + if (resource != null) { + IItemLabelProvider itemLabelProvider = (IItemLabelProvider)getRootAdapterFactory().adapt( + resource, IItemLabelProvider.class); + + Object image = itemLabelProvider.getImage(resource); + if (image != null) { + return image; + } else { + return super.getImage(object); + } + } else { + return super.getImage(object); + } + } + + /** + * Returns the longest common starting substring of the two given strings. + * + * @param left + * First of the two strings for which we need the common starting substring. + * @param right + * Second of the two strings for which we need the common starting substring. + * @return The longest common starting substring of the two given strings. + */ + public String getCommonBase(String left, String right) { + if (left == null || right == null) { + return ""; //$NON-NLS-1$ + } + + final char[] leftChars = left.toCharArray(); + final char[] rightChars = right.toCharArray(); + + final StringBuilder buffer = new StringBuilder(); + StringBuilder fragmentBuffer = new StringBuilder(); + for (int i = 0; i < Math.min(leftChars.length, rightChars.length); i++) { + if (leftChars[i] == rightChars[i]) { + fragmentBuffer.append(leftChars[i]); + + if (leftChars[i] == '\\' || leftChars[i] == '/') { + buffer.append(fragmentBuffer); + fragmentBuffer = new StringBuilder(); + } + } else { + break; + } + } + + return buffer.toString(); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.compare.provider.IItemStyledLabelProvider#getStyledText(java.lang.Object) + */ + public IStyledString.IComposedStyledString getStyledText(Object object) { + return new ComposedStyledString(getText(object)); + } +} diff --git a/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ReferenceChangeItemProviderSpec.java b/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ReferenceChangeItemProviderSpec.java index f97dbec9c..f20e11fee 100644 --- a/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ReferenceChangeItemProviderSpec.java +++ b/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ReferenceChangeItemProviderSpec.java @@ -1,263 +1,266 @@ -/*******************************************************************************
- * Copyright (c) 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.provider.spec;
-
-import static com.google.common.base.Predicates.not;
-import static com.google.common.collect.Iterables.filter;
-import static com.google.common.collect.Lists.newArrayList;
-
-import com.google.common.base.Strings;
-import com.google.common.collect.ImmutableCollection;
-import com.google.common.collect.ImmutableList;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.compare.Diff;
-import org.eclipse.emf.compare.DifferenceKind;
-import org.eclipse.emf.compare.DifferenceSource;
-import org.eclipse.emf.compare.Match;
-import org.eclipse.emf.compare.ReferenceChange;
-import org.eclipse.emf.compare.provider.AdapterFactoryUtil;
-import org.eclipse.emf.compare.provider.IItemStyledLabelProvider;
-import org.eclipse.emf.compare.provider.ReferenceChangeItemProvider;
-import org.eclipse.emf.compare.provider.utils.ComposedStyledString;
-import org.eclipse.emf.compare.provider.utils.IStyledString;
-import org.eclipse.emf.compare.provider.utils.IStyledString.Style;
-import org.eclipse.emf.compare.utils.ReferenceUtil;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-
-/**
- * Specialized {@link ReferenceChangeItemProvider} returning nice output for {@link #getText(Object)} and
- * {@link #getImage(Object)}.
- *
- * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
- */
-public class ReferenceChangeItemProviderSpec extends ReferenceChangeItemProvider implements IItemStyledLabelProvider {
-
- private final OverlayImageProvider overlayProvider;
-
- /**
- * Constructor calling super {@link #ReferenceChangeItemProvider(AdapterFactory)}.
- *
- * @param adapterFactory
- * the adapter factory
- */
- public ReferenceChangeItemProviderSpec(AdapterFactory adapterFactory) {
- super(adapterFactory);
- overlayProvider = new OverlayImageProvider(getResourceLocator(), true);
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.compare.provider.ReferenceChangeItemProvider#getText(java.lang.Object)
- */
- @Override
- public String getText(Object object) {
- return getStyledText(object).getString();
- }
-
- static String changeText(final Diff diff, EStructuralFeature feature) {
- DifferenceSource source = diff.getSource();
- Match matchOfInterrest = diff.getMatch();
- final EObject sourceSide;
- final EObject otherSide;
- if (source == DifferenceSource.LEFT) {
- sourceSide = matchOfInterrest.getLeft();
- otherSide = matchOfInterrest.getRight();
- } else { // source == DifferenceSource.RIGHT
- sourceSide = matchOfInterrest.getRight();
- otherSide = matchOfInterrest.getLeft();
- }
- String changeText = changeText(feature, sourceSide, otherSide);
- return changeText;
- }
-
- private static String changeText(final EStructuralFeature eStructuralFeature, EObject sourceSide,
- EObject otherSide) {
- String changeText;
- if (sourceSide != null) {
- Object leftValue = ReferenceUtil.safeEGet(sourceSide, eStructuralFeature);
- if (leftValue == null || isStringAndNullOrEmpty(leftValue)) {
- changeText = "unset"; //$NON-NLS-1$
- } else if (otherSide != null) {
- Object otherValue = ReferenceUtil.safeEGet(otherSide, eStructuralFeature);
- if (otherValue == null || isStringAndNullOrEmpty(otherValue)) {
- changeText = "set"; //$NON-NLS-1$
- } else {
- changeText = "changed"; //$NON-NLS-1$
- }
- } else {
- changeText = "set"; //$NON-NLS-1$
- }
- } else {
- changeText = "unset"; //$NON-NLS-1$
- }
- return changeText;
- }
-
- private static boolean isStringAndNullOrEmpty(Object s) {
- if (s instanceof String) {
- return Strings.isNullOrEmpty((String)s);
- } else {
- return false;
- }
- }
-
- protected String getReferenceText(final ReferenceChange refChange) {
- return refChange.getReference().getName();
- }
-
- protected String getValueText(final ReferenceChange refChange) {
- String value = AdapterFactoryUtil.getText(getRootAdapterFactory(), refChange.getValue());
- if (value == null) {
- value = "<null>"; //$NON-NLS-1$
- } else {
- value = org.eclipse.emf.compare.provider.spec.Strings.elide(value, 50, "..."); //$NON-NLS-1$
- }
- return value;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.compare.provider.ReferenceChangeItemProvider#getImage(java.lang.Object)
- */
- @Override
- public Object getImage(Object object) {
- ReferenceChange refChange = (ReferenceChange)object;
-
- Object refChangeValueImage = AdapterFactoryUtil.getImage(getRootAdapterFactory(), refChange
- .getValue());
-
- Object diffImage = overlayProvider.getComposedImage(refChange, refChangeValueImage);
- Object ret = overlayImage(object, diffImage);
-
- return ret;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#getChildren(java.lang.Object)
- */
- @Override
- public Collection<?> getChildren(Object object) {
- Collection<?> superChildren = super.getChildren(object);
- List<? super Object> ret = newArrayList(superChildren);
-
- ReferenceChange referenceChange = (ReferenceChange)object;
- EReference reference = referenceChange.getReference();
-
- if (reference.isContainment()) {
- Match matchOfValue = referenceChange.getMatch().getComparison().getMatch(
- referenceChange.getValue());
- if (matchOfValue != null) {
- Collection<?> children = getChildren(matchOfValue);
- children.remove(referenceChange);
- ret.addAll(children);
- }
- }
-
- return ImmutableList.copyOf(filter(ret, not(MatchItemProviderSpec.REFINED_DIFF)));
-
- }
-
- private Collection<?> getChildren(Match matchOfValue) {
- final Collection<?> children;
- ITreeItemContentProvider matchItemContentProvider = (ITreeItemContentProvider)adapterFactory.adapt(
- matchOfValue, ITreeItemContentProvider.class);
- if (matchItemContentProvider != null) {
- Collection<?> itemProviderChildren = matchItemContentProvider.getChildren(matchOfValue);
- if (itemProviderChildren instanceof ImmutableCollection<?>) {
- children = newArrayList(itemProviderChildren);
- } else {
- children = itemProviderChildren;
- }
-
- Iterator<?> childrenIterator = children.iterator();
- while (childrenIterator.hasNext()) {
- Object child = childrenIterator.next();
- if (child instanceof Match) {
- if (!matchItemContentProvider.hasChildren(child)) {
- childrenIterator.remove();
- }
- }
-
- }
- } else {
- children = ImmutableList.of();
- }
- return children;
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#getForeground(java.lang.Object)
- */
- @Override
- public Object getForeground(Object object) {
- ReferenceChange referenceChange = (ReferenceChange)object;
- switch (referenceChange.getState()) {
- case MERGED:
- case DISCARDED:
- return URI.createURI("color://rgb/156/156/156"); //$NON-NLS-1$
- default:
- return super.getForeground(object);
- }
- }
-
- /**
- * {@inheritDoc}
- *
- * @see org.eclipse.emf.compare.provider.IItemStyledLabelProvider#getStyledText(java.lang.Object)
- */
- public IStyledString.IComposedStyledString getStyledText(Object object) {
- final ReferenceChange refChange = (ReferenceChange)object;
-
- final String valueText = getValueText(refChange);
-
- final String referenceText = getReferenceText(refChange);
-
- ComposedStyledString ret = new ComposedStyledString(valueText);
- ret.append(" [" + referenceText, Style.DECORATIONS_STYLER); //$NON-NLS-1$
-
- switch (refChange.getKind()) {
- case ADD:
- ret.append(" add", Style.DECORATIONS_STYLER); //$NON-NLS-1$
- break;
- case DELETE:
- ret.append(" delete", Style.DECORATIONS_STYLER); //$NON-NLS-1$
- break;
- case CHANGE:
- ret.append(" " + changeText(refChange, refChange.getReference()), //$NON-NLS-1$
- Style.DECORATIONS_STYLER);
- break;
- case MOVE:
- ret.append(" move", Style.DECORATIONS_STYLER); //$NON-NLS-1$
- break;
- default:
- throw new IllegalStateException("Unsupported " + DifferenceKind.class.getSimpleName() //$NON-NLS-1$
- + " value: " + refChange.getKind()); //$NON-NLS-1$
- }
- ret.append("]", Style.DECORATIONS_STYLER); //$NON-NLS-1$
-
- return ret;
- }
-}
+/******************************************************************************* + * Copyright (c) 2012, 2013 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.provider.spec; + +import static com.google.common.base.Predicates.instanceOf; +import static com.google.common.base.Predicates.not; +import static com.google.common.collect.Iterables.filter; +import static com.google.common.collect.Lists.newArrayList; + +import com.google.common.base.Strings; +import com.google.common.collect.ImmutableCollection; +import com.google.common.collect.ImmutableList; + +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.compare.Diff; +import org.eclipse.emf.compare.DifferenceKind; +import org.eclipse.emf.compare.DifferenceSource; +import org.eclipse.emf.compare.Match; +import org.eclipse.emf.compare.ReferenceChange; +import org.eclipse.emf.compare.ResourceAttachmentChange; +import org.eclipse.emf.compare.provider.AdapterFactoryUtil; +import org.eclipse.emf.compare.provider.IItemStyledLabelProvider; +import org.eclipse.emf.compare.provider.ReferenceChangeItemProvider; +import org.eclipse.emf.compare.provider.utils.ComposedStyledString; +import org.eclipse.emf.compare.provider.utils.IStyledString; +import org.eclipse.emf.compare.provider.utils.IStyledString.Style; +import org.eclipse.emf.compare.utils.ReferenceUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EStructuralFeature; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +/** + * Specialized {@link ReferenceChangeItemProvider} returning nice output for {@link #getText(Object)} and + * {@link #getImage(Object)}. + * + * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a> + */ +public class ReferenceChangeItemProviderSpec extends ReferenceChangeItemProvider implements IItemStyledLabelProvider { + + private final OverlayImageProvider overlayProvider; + + /** + * Constructor calling super {@link #ReferenceChangeItemProvider(AdapterFactory)}. + * + * @param adapterFactory + * the adapter factory + */ + public ReferenceChangeItemProviderSpec(AdapterFactory adapterFactory) { + super(adapterFactory); + overlayProvider = new OverlayImageProvider(getResourceLocator(), true); + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.compare.provider.ReferenceChangeItemProvider#getText(java.lang.Object) + */ + @Override + public String getText(Object object) { + return getStyledText(object).getString(); + } + + static String changeText(final Diff diff, EStructuralFeature feature) { + DifferenceSource source = diff.getSource(); + Match matchOfInterrest = diff.getMatch(); + final EObject sourceSide; + final EObject otherSide; + if (source == DifferenceSource.LEFT) { + sourceSide = matchOfInterrest.getLeft(); + otherSide = matchOfInterrest.getRight(); + } else { // source == DifferenceSource.RIGHT + sourceSide = matchOfInterrest.getRight(); + otherSide = matchOfInterrest.getLeft(); + } + String changeText = changeText(feature, sourceSide, otherSide); + return changeText; + } + + private static String changeText(final EStructuralFeature eStructuralFeature, EObject sourceSide, + EObject otherSide) { + String changeText; + if (sourceSide != null) { + Object leftValue = ReferenceUtil.safeEGet(sourceSide, eStructuralFeature); + if (leftValue == null || isStringAndNullOrEmpty(leftValue)) { + changeText = "unset"; //$NON-NLS-1$ + } else if (otherSide != null) { + Object otherValue = ReferenceUtil.safeEGet(otherSide, eStructuralFeature); + if (otherValue == null || isStringAndNullOrEmpty(otherValue)) { + changeText = "set"; //$NON-NLS-1$ + } else { + changeText = "changed"; //$NON-NLS-1$ + } + } else { + changeText = "set"; //$NON-NLS-1$ + } + } else { + changeText = "unset"; //$NON-NLS-1$ + } + return changeText; + } + + private static boolean isStringAndNullOrEmpty(Object s) { + if (s instanceof String) { + return Strings.isNullOrEmpty((String)s); + } else { + return false; + } + } + + protected String getReferenceText(final ReferenceChange refChange) { + return refChange.getReference().getName(); + } + + protected String getValueText(final ReferenceChange refChange) { + String value = AdapterFactoryUtil.getText(getRootAdapterFactory(), refChange.getValue()); + if (value == null) { + value = "<null>"; //$NON-NLS-1$ + } else { + value = org.eclipse.emf.compare.provider.spec.Strings.elide(value, 50, "..."); //$NON-NLS-1$ + } + return value; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.compare.provider.ReferenceChangeItemProvider#getImage(java.lang.Object) + */ + @Override + public Object getImage(Object object) { + ReferenceChange refChange = (ReferenceChange)object; + + Object refChangeValueImage = AdapterFactoryUtil.getImage(getRootAdapterFactory(), refChange + .getValue()); + + Object diffImage = overlayProvider.getComposedImage(refChange, refChangeValueImage); + Object ret = overlayImage(object, diffImage); + + return ret; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#getChildren(java.lang.Object) + */ + @Override + public Collection<?> getChildren(Object object) { + Collection<?> superChildren = super.getChildren(object); + List<? super Object> ret = newArrayList(superChildren); + + ReferenceChange referenceChange = (ReferenceChange)object; + EReference reference = referenceChange.getReference(); + + if (reference.isContainment()) { + Match matchOfValue = referenceChange.getMatch().getComparison().getMatch( + referenceChange.getValue()); + if (matchOfValue != null) { + Collection<?> children = getChildren(matchOfValue); + children.remove(referenceChange); + ret.addAll(children); + } + } + + return ImmutableList.copyOf(filter(filter(ret, not(instanceOf(ResourceAttachmentChange.class))), + not(MatchItemProviderSpec.REFINED_DIFF))); + + } + + private Collection<?> getChildren(Match matchOfValue) { + final Collection<?> children; + ITreeItemContentProvider matchItemContentProvider = (ITreeItemContentProvider)adapterFactory.adapt( + matchOfValue, ITreeItemContentProvider.class); + if (matchItemContentProvider != null) { + Collection<?> itemProviderChildren = matchItemContentProvider.getChildren(matchOfValue); + if (itemProviderChildren instanceof ImmutableCollection<?>) { + children = newArrayList(itemProviderChildren); + } else { + children = itemProviderChildren; + } + + Iterator<?> childrenIterator = children.iterator(); + while (childrenIterator.hasNext()) { + Object child = childrenIterator.next(); + if (child instanceof Match) { + if (!matchItemContentProvider.hasChildren(child)) { + childrenIterator.remove(); + } + } + + } + } else { + children = ImmutableList.of(); + } + return children; + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.edit.provider.ItemProviderAdapter#getForeground(java.lang.Object) + */ + @Override + public Object getForeground(Object object) { + ReferenceChange referenceChange = (ReferenceChange)object; + switch (referenceChange.getState()) { + case MERGED: + case DISCARDED: + return URI.createURI("color://rgb/156/156/156"); //$NON-NLS-1$ + default: + return super.getForeground(object); + } + } + + /** + * {@inheritDoc} + * + * @see org.eclipse.emf.compare.provider.IItemStyledLabelProvider#getStyledText(java.lang.Object) + */ + public IStyledString.IComposedStyledString getStyledText(Object object) { + final ReferenceChange refChange = (ReferenceChange)object; + + final String valueText = getValueText(refChange); + + final String referenceText = getReferenceText(refChange); + + ComposedStyledString ret = new ComposedStyledString(valueText); + ret.append(" [" + referenceText, Style.DECORATIONS_STYLER); //$NON-NLS-1$ + + switch (refChange.getKind()) { + case ADD: + ret.append(" add", Style.DECORATIONS_STYLER); //$NON-NLS-1$ + break; + case DELETE: + ret.append(" delete", Style.DECORATIONS_STYLER); //$NON-NLS-1$ + break; + case CHANGE: + ret.append(" " + changeText(refChange, refChange.getReference()), //$NON-NLS-1$ + Style.DECORATIONS_STYLER); + break; + case MOVE: + ret.append(" move", Style.DECORATIONS_STYLER); //$NON-NLS-1$ + break; + default: + throw new IllegalStateException("Unsupported " + DifferenceKind.class.getSimpleName() //$NON-NLS-1$ + + " value: " + refChange.getKind()); //$NON-NLS-1$ + } + ret.append("]", Style.DECORATIONS_STYLER); //$NON-NLS-1$ + + return ret; + } +} diff --git a/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ResourceAttachmentChangeItemProviderSpec.java b/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ResourceAttachmentChangeItemProviderSpec.java index adc955c8d..bf3656a9e 100644 --- a/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ResourceAttachmentChangeItemProviderSpec.java +++ b/plugins/org.eclipse.emf.compare.edit/src/org/eclipse/emf/compare/provider/spec/ResourceAttachmentChangeItemProviderSpec.java @@ -138,7 +138,7 @@ public class ResourceAttachmentChangeItemProviderSpec extends ResourceAttachment ret = super.getImage(object); } - Object matchImage = overlayProvider.getComposedImage(match, ret); + Object matchImage = overlayProvider.getComposedImage((ResourceAttachmentChange)object, ret); ret = overlayImage(object, matchImage); return ret; diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/plugin.xml b/plugins/org.eclipse.emf.compare.rcp.ui/plugin.xml index bb20670c6..b76137a6a 100644 --- a/plugins/org.eclipse.emf.compare.rcp.ui/plugin.xml +++ b/plugins/org.eclipse.emf.compare.rcp.ui/plugin.xml @@ -57,8 +57,8 @@ </filter> <filter activeByDefault="true" - class="org.eclipse.emf.compare.rcp.ui.structuremergeviewer.filters.MatchedResourcesFilter" - label="Resource Mappings"> + class="org.eclipse.emf.compare.rcp.ui.structuremergeviewer.filters.EmptyMatchedResourcesFilter" + label="Empty Resource Mappings"> </filter> </extension> </plugin> diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/mergeviewer/accessor/BasicResourceContentsAccessorImpl.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/mergeviewer/accessor/BasicResourceContentsAccessorImpl.java index 1201c2d5d..62c601db4 100644 --- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/mergeviewer/accessor/BasicResourceContentsAccessorImpl.java +++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/mergeviewer/accessor/BasicResourceContentsAccessorImpl.java @@ -26,9 +26,9 @@ import com.google.common.collect.Iterables; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; import java.util.List; +import org.eclipse.emf.common.util.URI; import org.eclipse.emf.compare.Comparison; import org.eclipse.emf.compare.ConflictKind; import org.eclipse.emf.compare.Diff; @@ -42,6 +42,7 @@ import org.eclipse.emf.ecore.resource.Resource; /** * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a> + * @since 3.0 */ public abstract class BasicResourceContentsAccessorImpl implements IResourceContentsAccessor { @@ -104,9 +105,8 @@ public abstract class BasicResourceContentsAccessorImpl implements IResourceCont public Resource getResource(MergeViewerSide side) { Resource resource = null; Collection<MatchResource> matchResources = fOwnerMatch.getComparison().getMatchedResources(); - Iterator<MatchResource> it = matchResources.iterator(); - if (it.hasNext()) { - MatchResource matchResource = it.next(); + final String diffResourceURI = ((ResourceAttachmentChange)fDiff).getResourceURI(); + for (MatchResource matchResource : matchResources) { switch (side) { case ANCESTOR: resource = matchResource.getOrigin(); @@ -120,6 +120,12 @@ public abstract class BasicResourceContentsAccessorImpl implements IResourceCont default: throw new IllegalStateException(); } + if (resource != null) { + URI resourceURI = resource.getURI(); + if (diffResourceURI.equals(resourceURI.toString())) { + return resource; + } + } } return resource; } diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/structuremergeviewer/filters/MatchedResourcesFilter.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/structuremergeviewer/filters/EmptyMatchedResourcesFilter.java index d0f181df0..355242e52 100644 --- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/structuremergeviewer/filters/MatchedResourcesFilter.java +++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/structuremergeviewer/filters/EmptyMatchedResourcesFilter.java @@ -10,10 +10,16 @@ *******************************************************************************/ package org.eclipse.emf.compare.rcp.ui.structuremergeviewer.filters; +import static com.google.common.collect.Iterables.filter; +import static com.google.common.collect.Iterables.isEmpty; + import com.google.common.base.Predicate; +import org.eclipse.emf.common.util.EList; import org.eclipse.emf.compare.Comparison; +import org.eclipse.emf.compare.Diff; import org.eclipse.emf.compare.MatchResource; +import org.eclipse.emf.compare.ResourceAttachmentChange; import org.eclipse.emf.compare.scope.IComparisonScope; import org.eclipse.emf.ecore.EObject; @@ -23,7 +29,7 @@ import org.eclipse.emf.ecore.EObject; * @author <a href="mailto:axel.richard@obeo.fr">Axel Richard</a> * @since 3.0 */ -public class MatchedResourcesFilter implements IDifferenceFilter { +public class EmptyMatchedResourcesFilter implements IDifferenceFilter { /** A human-readable label for this filter. This will be displayed in the EMF Compare UI. */ private String label; @@ -37,7 +43,7 @@ public class MatchedResourcesFilter implements IDifferenceFilter { /** * Constructs the filter with the appropriate predicate. */ - public MatchedResourcesFilter() { + public EmptyMatchedResourcesFilter() { super(); setPredicate(); } @@ -103,7 +109,24 @@ public class MatchedResourcesFilter implements IDifferenceFilter { private void setPredicate() { final Predicate<? super EObject> actualPredicate = new Predicate<EObject>() { public boolean apply(EObject input) { - return input instanceof MatchResource; + if (input instanceof MatchResource) { + EList<Diff> differences = ((MatchResource)input).getComparison().getDifferences(); + Iterable<ResourceAttachmentChange> resourceAttachmentchanges = filter(differences, + ResourceAttachmentChange.class); + if (!isEmpty(resourceAttachmentchanges)) { + for (ResourceAttachmentChange rac : resourceAttachmentchanges) { + final String diffResourceURI = rac.getResourceURI(); + if (!diffResourceURI.equals(((MatchResource)input).getLeftURI()) + && !diffResourceURI.equals(((MatchResource)input).getRightURI()) + && !diffResourceURI.equals(((MatchResource)input).getOriginURI())) { + return true; + } + } + } else { + return true; + } + } + return false; } }; predicate = actualPredicate; diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/structuremergeviewer/filters/StructureMergeViewerFilter.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/structuremergeviewer/filters/StructureMergeViewerFilter.java index 5297665f2..e9b530f27 100644 --- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/structuremergeviewer/filters/StructureMergeViewerFilter.java +++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/structuremergeviewer/filters/StructureMergeViewerFilter.java @@ -27,6 +27,7 @@ import org.eclipse.emf.common.notify.Adapter; import org.eclipse.emf.common.notify.Notifier; import org.eclipse.emf.compare.Diff; import org.eclipse.emf.compare.Match; +import org.eclipse.emf.compare.MatchResource; import org.eclipse.emf.compare.rcp.ui.structuremergeviewer.filters.IDifferenceFilterSelectionChangeEvent.Action; import org.eclipse.emf.compare.rcp.ui.structuremergeviewer.groups.DifferenceGroup; import org.eclipse.emf.ecore.EObject; @@ -95,6 +96,9 @@ public class StructureMergeViewerFilter extends ViewerFilter { } else if (notifier instanceof Match) { final Iterator<Diff> differences = ((Match)notifier).getAllDifferences().iterator(); result = Iterators.any(differences, not(predicate)); + } else if (notifier instanceof MatchResource) { + final MatchResource matchResource = (MatchResource)notifier; + result = !predicate.apply(matchResource); } } else if (element instanceof DifferenceGroup) { final Iterator<? extends Diff> differences = ((DifferenceGroup)element).getDifferences() @@ -120,7 +124,8 @@ public class StructureMergeViewerFilter extends ViewerFilter { */ public void addFilter(IDifferenceFilter filter) { addPredicate(filter.getPredicate()); - eventBus.post(new IDifferenceFilterSelectionChangeEvent.DefaultFilterSelectionChangeEvent(filter, Action.ADD)); + eventBus.post(new IDifferenceFilterSelectionChangeEvent.DefaultFilterSelectionChangeEvent(filter, + Action.ADD)); } /** @@ -131,7 +136,8 @@ public class StructureMergeViewerFilter extends ViewerFilter { */ public void removeFilter(IDifferenceFilter filter) { removePredicate(filter.getPredicate()); - eventBus.post(new IDifferenceFilterSelectionChangeEvent.DefaultFilterSelectionChangeEvent(filter, Action.REMOVE)); + eventBus.post(new IDifferenceFilterSelectionChangeEvent.DefaultFilterSelectionChangeEvent(filter, + Action.REMOVE)); } /** diff --git a/plugins/org.eclipse.emf.compare/model/compare.ecore b/plugins/org.eclipse.emf.compare/model/compare.ecore index a5af333a3..bcfbf848b 100644 --- a/plugins/org.eclipse.emf.compare/model/compare.ecore +++ b/plugins/org.eclipse.emf.compare/model/compare.ecore @@ -32,7 +32,7 @@ </eOperations> <eOperations name="getEqualityHelper" eType="#//IEqualityHelper"/> <eStructuralFeatures xsi:type="ecore:EReference" name="matchedResources" upperBound="-1" - eType="#//MatchResource" containment="true"> + eType="#//MatchResource" containment="true" eOpposite="#//MatchResource/comparison"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="This contains the mappings for each compared Resource."/> </eAnnotations> @@ -96,6 +96,8 @@ <details key="documentation" value="Keeps a reference towards the origin Resource of this Match. Might be null if this is a Comparison we have re-loaded from its serialized form and the origin EResource could not be loaded."/> </eAnnotations> </eStructuralFeatures> + <eStructuralFeatures xsi:type="ecore:EReference" name="comparison" eType="#//Comparison" + eOpposite="#//Comparison/matchedResources"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="Match"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> diff --git a/plugins/org.eclipse.emf.compare/model/compare.genmodel b/plugins/org.eclipse.emf.compare/model/compare.genmodel index 03c388f04..b8b596f66 100644 --- a/plugins/org.eclipse.emf.compare/model/compare.genmodel +++ b/plugins/org.eclipse.emf.compare/model/compare.genmodel @@ -35,7 +35,7 @@ <genDataTypes ecoreDataType="compare.ecore#//EIterable"> <genTypeParameters ecoreTypeParameter="compare.ecore#//EIterable/T"/> </genDataTypes> - <genDataTypes ecoreDataType="compare.ecore#//CompareConfiguration"/> + <genDataTypes ecoreDataType="compare.ecore#//IEqualityHelper"/> <genClasses ecoreClass="compare.ecore#//Comparison"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference compare.ecore#//Comparison/matchedResources"/> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference compare.ecore#//Comparison/matches"/> @@ -49,7 +49,7 @@ <genOperations ecoreOperation="compare.ecore#//Comparison/getMatch"> <genParameters ecoreParameter="compare.ecore#//Comparison/getMatch/element"/> </genOperations> - <genOperations ecoreOperation="compare.ecore#//Comparison/getConfiguration"/> + <genOperations ecoreOperation="compare.ecore#//Comparison/getEqualityHelper"/> </genClasses> <genClasses ecoreClass="compare.ecore#//MatchResource"> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute compare.ecore#//MatchResource/leftURI"/> @@ -58,6 +58,7 @@ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute compare.ecore#//MatchResource/left"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute compare.ecore#//MatchResource/right"/> <genFeatures createChild="false" ecoreFeature="ecore:EAttribute compare.ecore#//MatchResource/origin"/> + <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference compare.ecore#//MatchResource/comparison"/> </genClasses> <genClasses ecoreClass="compare.ecore#//Match"> <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference compare.ecore#//Match/submatches"/> diff --git a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/ComparePackage.java b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/ComparePackage.java index eb336b2ce..eb5602bbe 100644 --- a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/ComparePackage.java +++ b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/ComparePackage.java @@ -1,1857 +1,1885 @@ -/**
- * Copyright (c) 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;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.CompareFactory
- * @model kind="package"
- * @generated
- */
-public interface ComparePackage extends EPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$
-
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "compare"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://www.eclipse.org/emf/compare"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "compare"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- ComparePackage eINSTANCE = org.eclipse.emf.compare.impl.ComparePackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.impl.ComparisonImpl <em>Comparison</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.ComparisonImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getComparison()
- * @generated
- */
- int COMPARISON = 0;
-
- /**
- * The feature id for the '<em><b>Matched Resources</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON__MATCHED_RESOURCES = 0;
-
- /**
- * The feature id for the '<em><b>Matches</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON__MATCHES = 1;
-
- /**
- * The feature id for the '<em><b>Conflicts</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON__CONFLICTS = 2;
-
- /**
- * The feature id for the '<em><b>Equivalences</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON__EQUIVALENCES = 3;
-
- /**
- * The feature id for the '<em><b>Three Way</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON__THREE_WAY = 4;
-
- /**
- * The number of structural features of the '<em>Comparison</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON_FEATURE_COUNT = 5;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.impl.MatchResourceImpl <em>Match Resource</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.MatchResourceImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getMatchResource()
- * @generated
- */
- int MATCH_RESOURCE = 1;
-
- /**
- * The feature id for the '<em><b>Left URI</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_RESOURCE__LEFT_URI = 0;
-
- /**
- * The feature id for the '<em><b>Right URI</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_RESOURCE__RIGHT_URI = 1;
-
- /**
- * The feature id for the '<em><b>Origin URI</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_RESOURCE__ORIGIN_URI = 2;
-
- /**
- * The feature id for the '<em><b>Left</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_RESOURCE__LEFT = 3;
-
- /**
- * The feature id for the '<em><b>Right</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_RESOURCE__RIGHT = 4;
-
- /**
- * The feature id for the '<em><b>Origin</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_RESOURCE__ORIGIN = 5;
-
- /**
- * The number of structural features of the '<em>Match Resource</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_RESOURCE_FEATURE_COUNT = 6;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.impl.MatchImpl <em>Match</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.MatchImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getMatch()
- * @generated
- */
- int MATCH = 2;
-
- /**
- * The feature id for the '<em><b>Submatches</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH__SUBMATCHES = 0;
-
- /**
- * The feature id for the '<em><b>Differences</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH__DIFFERENCES = 1;
-
- /**
- * The feature id for the '<em><b>Left</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH__LEFT = 2;
-
- /**
- * The feature id for the '<em><b>Right</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH__RIGHT = 3;
-
- /**
- * The feature id for the '<em><b>Origin</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH__ORIGIN = 4;
-
- /**
- * The number of structural features of the '<em>Match</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_FEATURE_COUNT = 5;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.impl.DiffImpl <em>Diff</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.DiffImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDiff()
- * @generated
- */
- int DIFF = 3;
-
- /**
- * The feature id for the '<em><b>Match</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DIFF__MATCH = 0;
-
- /**
- * The feature id for the '<em><b>Requires</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DIFF__REQUIRES = 1;
-
- /**
- * The feature id for the '<em><b>Required By</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DIFF__REQUIRED_BY = 2;
-
- /**
- * The feature id for the '<em><b>Refines</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DIFF__REFINES = 3;
-
- /**
- * The feature id for the '<em><b>Refined By</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DIFF__REFINED_BY = 4;
-
- /**
- * The feature id for the '<em><b>Kind</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DIFF__KIND = 5;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DIFF__SOURCE = 6;
-
- /**
- * The feature id for the '<em><b>State</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DIFF__STATE = 7;
-
- /**
- * The feature id for the '<em><b>Equivalence</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DIFF__EQUIVALENCE = 8;
-
- /**
- * The feature id for the '<em><b>Conflict</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DIFF__CONFLICT = 9;
-
- /**
- * The number of structural features of the '<em>Diff</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int DIFF_FEATURE_COUNT = 10;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.impl.ResourceAttachmentChangeImpl <em>Resource Attachment Change</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.ResourceAttachmentChangeImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getResourceAttachmentChange()
- * @generated
- */
- int RESOURCE_ATTACHMENT_CHANGE = 4;
-
- /**
- * The feature id for the '<em><b>Match</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE__MATCH = DIFF__MATCH;
-
- /**
- * The feature id for the '<em><b>Requires</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE__REQUIRES = DIFF__REQUIRES;
-
- /**
- * The feature id for the '<em><b>Required By</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE__REQUIRED_BY = DIFF__REQUIRED_BY;
-
- /**
- * The feature id for the '<em><b>Refines</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE__REFINES = DIFF__REFINES;
-
- /**
- * The feature id for the '<em><b>Refined By</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE__REFINED_BY = DIFF__REFINED_BY;
-
- /**
- * The feature id for the '<em><b>Kind</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE__KIND = DIFF__KIND;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE__SOURCE = DIFF__SOURCE;
-
- /**
- * The feature id for the '<em><b>State</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE__STATE = DIFF__STATE;
-
- /**
- * The feature id for the '<em><b>Equivalence</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE__EQUIVALENCE = DIFF__EQUIVALENCE;
-
- /**
- * The feature id for the '<em><b>Conflict</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE__CONFLICT = DIFF__CONFLICT;
-
- /**
- * The feature id for the '<em><b>Resource URI</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE__RESOURCE_URI = DIFF_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the '<em>Resource Attachment Change</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int RESOURCE_ATTACHMENT_CHANGE_FEATURE_COUNT = DIFF_FEATURE_COUNT + 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.impl.ReferenceChangeImpl <em>Reference Change</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.ReferenceChangeImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getReferenceChange()
- * @generated
- */
- int REFERENCE_CHANGE = 5;
-
- /**
- * The feature id for the '<em><b>Match</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__MATCH = DIFF__MATCH;
-
- /**
- * The feature id for the '<em><b>Requires</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__REQUIRES = DIFF__REQUIRES;
-
- /**
- * The feature id for the '<em><b>Required By</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__REQUIRED_BY = DIFF__REQUIRED_BY;
-
- /**
- * The feature id for the '<em><b>Refines</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__REFINES = DIFF__REFINES;
-
- /**
- * The feature id for the '<em><b>Refined By</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__REFINED_BY = DIFF__REFINED_BY;
-
- /**
- * The feature id for the '<em><b>Kind</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__KIND = DIFF__KIND;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__SOURCE = DIFF__SOURCE;
-
- /**
- * The feature id for the '<em><b>State</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__STATE = DIFF__STATE;
-
- /**
- * The feature id for the '<em><b>Equivalence</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__EQUIVALENCE = DIFF__EQUIVALENCE;
-
- /**
- * The feature id for the '<em><b>Conflict</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__CONFLICT = DIFF__CONFLICT;
-
- /**
- * The feature id for the '<em><b>Reference</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__REFERENCE = DIFF_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Value</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE__VALUE = DIFF_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the '<em>Reference Change</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int REFERENCE_CHANGE_FEATURE_COUNT = DIFF_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.impl.AttributeChangeImpl <em>Attribute Change</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.AttributeChangeImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getAttributeChange()
- * @generated
- */
- int ATTRIBUTE_CHANGE = 6;
-
- /**
- * The feature id for the '<em><b>Match</b></em>' container reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__MATCH = DIFF__MATCH;
-
- /**
- * The feature id for the '<em><b>Requires</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__REQUIRES = DIFF__REQUIRES;
-
- /**
- * The feature id for the '<em><b>Required By</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__REQUIRED_BY = DIFF__REQUIRED_BY;
-
- /**
- * The feature id for the '<em><b>Refines</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__REFINES = DIFF__REFINES;
-
- /**
- * The feature id for the '<em><b>Refined By</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__REFINED_BY = DIFF__REFINED_BY;
-
- /**
- * The feature id for the '<em><b>Kind</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__KIND = DIFF__KIND;
-
- /**
- * The feature id for the '<em><b>Source</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__SOURCE = DIFF__SOURCE;
-
- /**
- * The feature id for the '<em><b>State</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__STATE = DIFF__STATE;
-
- /**
- * The feature id for the '<em><b>Equivalence</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__EQUIVALENCE = DIFF__EQUIVALENCE;
-
- /**
- * The feature id for the '<em><b>Conflict</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__CONFLICT = DIFF__CONFLICT;
-
- /**
- * The feature id for the '<em><b>Attribute</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__ATTRIBUTE = DIFF_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE__VALUE = DIFF_FEATURE_COUNT + 1;
-
- /**
- * The number of structural features of the '<em>Attribute Change</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ATTRIBUTE_CHANGE_FEATURE_COUNT = DIFF_FEATURE_COUNT + 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.impl.ConflictImpl <em>Conflict</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.ConflictImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getConflict()
- * @generated
- */
- int CONFLICT = 7;
-
- /**
- * The feature id for the '<em><b>Kind</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONFLICT__KIND = 0;
-
- /**
- * The feature id for the '<em><b>Differences</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONFLICT__DIFFERENCES = 1;
-
- /**
- * The number of structural features of the '<em>Conflict</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int CONFLICT_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.impl.EquivalenceImpl <em>Equivalence</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.EquivalenceImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getEquivalence()
- * @generated
- */
- int EQUIVALENCE = 8;
-
- /**
- * The feature id for the '<em><b>Differences</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EQUIVALENCE__DIFFERENCES = 0;
-
- /**
- * The number of structural features of the '<em>Equivalence</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int EQUIVALENCE_FEATURE_COUNT = 1;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.DifferenceKind <em>Difference Kind</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.DifferenceKind
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceKind()
- * @generated
- */
- int DIFFERENCE_KIND = 9;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.DifferenceSource <em>Difference Source</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.DifferenceSource
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceSource()
- * @generated
- */
- int DIFFERENCE_SOURCE = 10;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.DifferenceState <em>Difference State</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.DifferenceState
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceState()
- * @generated
- */
- int DIFFERENCE_STATE = 11;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.compare.ConflictKind <em>Conflict Kind</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.ConflictKind
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getConflictKind()
- * @generated
- */
- int CONFLICT_KIND = 12;
-
- /**
- * The meta object id for the '<em>EIterable</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see java.lang.Iterable
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getEIterable()
- * @generated
- */
- int EITERABLE = 13;
-
- /**
- * The meta object id for the '<em>IEquality Helper</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.utils.IEqualityHelper
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getIEqualityHelper()
- * @generated
- */
- int IEQUALITY_HELPER = 14;
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.compare.Comparison <em>Comparison</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Comparison</em>'.
- * @see org.eclipse.emf.compare.Comparison
- * @generated
- */
- EClass getComparison();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Comparison#getMatchedResources <em>Matched Resources</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Matched Resources</em>'.
- * @see org.eclipse.emf.compare.Comparison#getMatchedResources()
- * @see #getComparison()
- * @generated
- */
- EReference getComparison_MatchedResources();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Comparison#getMatches <em>Matches</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Matches</em>'.
- * @see org.eclipse.emf.compare.Comparison#getMatches()
- * @see #getComparison()
- * @generated
- */
- EReference getComparison_Matches();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Comparison#getConflicts <em>Conflicts</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Conflicts</em>'.
- * @see org.eclipse.emf.compare.Comparison#getConflicts()
- * @see #getComparison()
- * @generated
- */
- EReference getComparison_Conflicts();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Comparison#getEquivalences <em>Equivalences</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Equivalences</em>'.
- * @see org.eclipse.emf.compare.Comparison#getEquivalences()
- * @see #getComparison()
- * @generated
- */
- EReference getComparison_Equivalences();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.Comparison#isThreeWay <em>Three Way</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Three Way</em>'.
- * @see org.eclipse.emf.compare.Comparison#isThreeWay()
- * @see #getComparison()
- * @generated
- */
- EAttribute getComparison_ThreeWay();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.compare.MatchResource <em>Match Resource</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Match Resource</em>'.
- * @see org.eclipse.emf.compare.MatchResource
- * @generated
- */
- EClass getMatchResource();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getLeftURI <em>Left URI</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Left URI</em>'.
- * @see org.eclipse.emf.compare.MatchResource#getLeftURI()
- * @see #getMatchResource()
- * @generated
- */
- EAttribute getMatchResource_LeftURI();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getRightURI <em>Right URI</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Right URI</em>'.
- * @see org.eclipse.emf.compare.MatchResource#getRightURI()
- * @see #getMatchResource()
- * @generated
- */
- EAttribute getMatchResource_RightURI();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getOriginURI <em>Origin URI</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Origin URI</em>'.
- * @see org.eclipse.emf.compare.MatchResource#getOriginURI()
- * @see #getMatchResource()
- * @generated
- */
- EAttribute getMatchResource_OriginURI();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getLeft <em>Left</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Left</em>'.
- * @see org.eclipse.emf.compare.MatchResource#getLeft()
- * @see #getMatchResource()
- * @generated
- */
- EAttribute getMatchResource_Left();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getRight <em>Right</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Right</em>'.
- * @see org.eclipse.emf.compare.MatchResource#getRight()
- * @see #getMatchResource()
- * @generated
- */
- EAttribute getMatchResource_Right();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getOrigin <em>Origin</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Origin</em>'.
- * @see org.eclipse.emf.compare.MatchResource#getOrigin()
- * @see #getMatchResource()
- * @generated
- */
- EAttribute getMatchResource_Origin();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.compare.Match <em>Match</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Match</em>'.
- * @see org.eclipse.emf.compare.Match
- * @generated
- */
- EClass getMatch();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Match#getSubmatches <em>Submatches</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Submatches</em>'.
- * @see org.eclipse.emf.compare.Match#getSubmatches()
- * @see #getMatch()
- * @generated
- */
- EReference getMatch_Submatches();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Match#getDifferences <em>Differences</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Differences</em>'.
- * @see org.eclipse.emf.compare.Match#getDifferences()
- * @see #getMatch()
- * @generated
- */
- EReference getMatch_Differences();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.compare.Match#getLeft <em>Left</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Left</em>'.
- * @see org.eclipse.emf.compare.Match#getLeft()
- * @see #getMatch()
- * @generated
- */
- EReference getMatch_Left();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.compare.Match#getRight <em>Right</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Right</em>'.
- * @see org.eclipse.emf.compare.Match#getRight()
- * @see #getMatch()
- * @generated
- */
- EReference getMatch_Right();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.compare.Match#getOrigin <em>Origin</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Origin</em>'.
- * @see org.eclipse.emf.compare.Match#getOrigin()
- * @see #getMatch()
- * @generated
- */
- EReference getMatch_Origin();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.compare.Diff <em>Diff</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Diff</em>'.
- * @see org.eclipse.emf.compare.Diff
- * @generated
- */
- EClass getDiff();
-
- /**
- * Returns the meta object for the container reference '{@link org.eclipse.emf.compare.Diff#getMatch <em>Match</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the container reference '<em>Match</em>'.
- * @see org.eclipse.emf.compare.Diff#getMatch()
- * @see #getDiff()
- * @generated
- */
- EReference getDiff_Match();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Diff#getRequires <em>Requires</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Requires</em>'.
- * @see org.eclipse.emf.compare.Diff#getRequires()
- * @see #getDiff()
- * @generated
- */
- EReference getDiff_Requires();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Diff#getRequiredBy <em>Required By</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Required By</em>'.
- * @see org.eclipse.emf.compare.Diff#getRequiredBy()
- * @see #getDiff()
- * @generated
- */
- EReference getDiff_RequiredBy();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Diff#getRefines <em>Refines</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Refines</em>'.
- * @see org.eclipse.emf.compare.Diff#getRefines()
- * @see #getDiff()
- * @generated
- */
- EReference getDiff_Refines();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Diff#getRefinedBy <em>Refined By</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Refined By</em>'.
- * @see org.eclipse.emf.compare.Diff#getRefinedBy()
- * @see #getDiff()
- * @generated
- */
- EReference getDiff_RefinedBy();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.Diff#getKind <em>Kind</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Kind</em>'.
- * @see org.eclipse.emf.compare.Diff#getKind()
- * @see #getDiff()
- * @generated
- */
- EAttribute getDiff_Kind();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.Diff#getSource <em>Source</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Source</em>'.
- * @see org.eclipse.emf.compare.Diff#getSource()
- * @see #getDiff()
- * @generated
- */
- EAttribute getDiff_Source();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.Diff#getState <em>State</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>State</em>'.
- * @see org.eclipse.emf.compare.Diff#getState()
- * @see #getDiff()
- * @generated
- */
- EAttribute getDiff_State();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.compare.Diff#getEquivalence <em>Equivalence</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Equivalence</em>'.
- * @see org.eclipse.emf.compare.Diff#getEquivalence()
- * @see #getDiff()
- * @generated
- */
- EReference getDiff_Equivalence();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.compare.Diff#getConflict <em>Conflict</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Conflict</em>'.
- * @see org.eclipse.emf.compare.Diff#getConflict()
- * @see #getDiff()
- * @generated
- */
- EReference getDiff_Conflict();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.compare.ResourceAttachmentChange <em>Resource Attachment Change</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Resource Attachment Change</em>'.
- * @see org.eclipse.emf.compare.ResourceAttachmentChange
- * @generated
- */
- EClass getResourceAttachmentChange();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.ResourceAttachmentChange#getResourceURI <em>Resource URI</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Resource URI</em>'.
- * @see org.eclipse.emf.compare.ResourceAttachmentChange#getResourceURI()
- * @see #getResourceAttachmentChange()
- * @generated
- */
- EAttribute getResourceAttachmentChange_ResourceURI();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.compare.ReferenceChange <em>Reference Change</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Reference Change</em>'.
- * @see org.eclipse.emf.compare.ReferenceChange
- * @generated
- */
- EClass getReferenceChange();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.compare.ReferenceChange#getReference <em>Reference</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Reference</em>'.
- * @see org.eclipse.emf.compare.ReferenceChange#getReference()
- * @see #getReferenceChange()
- * @generated
- */
- EReference getReferenceChange_Reference();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.compare.ReferenceChange#getValue <em>Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Value</em>'.
- * @see org.eclipse.emf.compare.ReferenceChange#getValue()
- * @see #getReferenceChange()
- * @generated
- */
- EReference getReferenceChange_Value();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.compare.AttributeChange <em>Attribute Change</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Attribute Change</em>'.
- * @see org.eclipse.emf.compare.AttributeChange
- * @generated
- */
- EClass getAttributeChange();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.compare.AttributeChange#getAttribute <em>Attribute</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Attribute</em>'.
- * @see org.eclipse.emf.compare.AttributeChange#getAttribute()
- * @see #getAttributeChange()
- * @generated
- */
- EReference getAttributeChange_Attribute();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.AttributeChange#getValue <em>Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Value</em>'.
- * @see org.eclipse.emf.compare.AttributeChange#getValue()
- * @see #getAttributeChange()
- * @generated
- */
- EAttribute getAttributeChange_Value();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.compare.Conflict <em>Conflict</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Conflict</em>'.
- * @see org.eclipse.emf.compare.Conflict
- * @generated
- */
- EClass getConflict();
-
- /**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.Conflict#getKind <em>Kind</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Kind</em>'.
- * @see org.eclipse.emf.compare.Conflict#getKind()
- * @see #getConflict()
- * @generated
- */
- EAttribute getConflict_Kind();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Conflict#getDifferences <em>Differences</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Differences</em>'.
- * @see org.eclipse.emf.compare.Conflict#getDifferences()
- * @see #getConflict()
- * @generated
- */
- EReference getConflict_Differences();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.compare.Equivalence <em>Equivalence</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Equivalence</em>'.
- * @see org.eclipse.emf.compare.Equivalence
- * @generated
- */
- EClass getEquivalence();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Equivalence#getDifferences <em>Differences</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Differences</em>'.
- * @see org.eclipse.emf.compare.Equivalence#getDifferences()
- * @see #getEquivalence()
- * @generated
- */
- EReference getEquivalence_Differences();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.emf.compare.DifferenceKind <em>Difference Kind</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for enum '<em>Difference Kind</em>'.
- * @see org.eclipse.emf.compare.DifferenceKind
- * @generated
- */
- EEnum getDifferenceKind();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.emf.compare.DifferenceSource <em>Difference Source</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for enum '<em>Difference Source</em>'.
- * @see org.eclipse.emf.compare.DifferenceSource
- * @generated
- */
- EEnum getDifferenceSource();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.emf.compare.DifferenceState <em>Difference State</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for enum '<em>Difference State</em>'.
- * @see org.eclipse.emf.compare.DifferenceState
- * @generated
- */
- EEnum getDifferenceState();
-
- /**
- * Returns the meta object for enum '{@link org.eclipse.emf.compare.ConflictKind <em>Conflict Kind</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for enum '<em>Conflict Kind</em>'.
- * @see org.eclipse.emf.compare.ConflictKind
- * @generated
- */
- EEnum getConflictKind();
-
- /**
- * Returns the meta object for data type '{@link java.lang.Iterable <em>EIterable</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for data type '<em>EIterable</em>'.
- * @see java.lang.Iterable
- * @model instanceClass="java.lang.Iterable" typeParameters="T"
- * @generated
- */
- EDataType getEIterable();
-
- /**
- * Returns the meta object for data type '{@link org.eclipse.emf.compare.utils.IEqualityHelper <em>IEquality Helper</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for data type '<em>IEquality Helper</em>'.
- * @see org.eclipse.emf.compare.utils.IEqualityHelper
- * @model instanceClass="org.eclipse.emf.compare.utils.IEqualityHelper" serializeable="false"
- * @generated
- */
- EDataType getIEqualityHelper();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- CompareFactory getCompareFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- @SuppressWarnings("hiding")
- // generated code, removing warnings
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.impl.ComparisonImpl <em>Comparison</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.ComparisonImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getComparison()
- * @generated
- */
- EClass COMPARISON = eINSTANCE.getComparison();
-
- /**
- * The meta object literal for the '<em><b>Matched Resources</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON__MATCHED_RESOURCES = eINSTANCE.getComparison_MatchedResources();
-
- /**
- * The meta object literal for the '<em><b>Matches</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON__MATCHES = eINSTANCE.getComparison_Matches();
-
- /**
- * The meta object literal for the '<em><b>Conflicts</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON__CONFLICTS = eINSTANCE.getComparison_Conflicts();
-
- /**
- * The meta object literal for the '<em><b>Equivalences</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON__EQUIVALENCES = eINSTANCE.getComparison_Equivalences();
-
- /**
- * The meta object literal for the '<em><b>Three Way</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute COMPARISON__THREE_WAY = eINSTANCE.getComparison_ThreeWay();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.impl.MatchResourceImpl <em>Match Resource</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.MatchResourceImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getMatchResource()
- * @generated
- */
- EClass MATCH_RESOURCE = eINSTANCE.getMatchResource();
-
- /**
- * The meta object literal for the '<em><b>Left URI</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute MATCH_RESOURCE__LEFT_URI = eINSTANCE.getMatchResource_LeftURI();
-
- /**
- * The meta object literal for the '<em><b>Right URI</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute MATCH_RESOURCE__RIGHT_URI = eINSTANCE.getMatchResource_RightURI();
-
- /**
- * The meta object literal for the '<em><b>Origin URI</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute MATCH_RESOURCE__ORIGIN_URI = eINSTANCE.getMatchResource_OriginURI();
-
- /**
- * The meta object literal for the '<em><b>Left</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute MATCH_RESOURCE__LEFT = eINSTANCE.getMatchResource_Left();
-
- /**
- * The meta object literal for the '<em><b>Right</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute MATCH_RESOURCE__RIGHT = eINSTANCE.getMatchResource_Right();
-
- /**
- * The meta object literal for the '<em><b>Origin</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute MATCH_RESOURCE__ORIGIN = eINSTANCE.getMatchResource_Origin();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.impl.MatchImpl <em>Match</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.MatchImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getMatch()
- * @generated
- */
- EClass MATCH = eINSTANCE.getMatch();
-
- /**
- * The meta object literal for the '<em><b>Submatches</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MATCH__SUBMATCHES = eINSTANCE.getMatch_Submatches();
-
- /**
- * The meta object literal for the '<em><b>Differences</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MATCH__DIFFERENCES = eINSTANCE.getMatch_Differences();
-
- /**
- * The meta object literal for the '<em><b>Left</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MATCH__LEFT = eINSTANCE.getMatch_Left();
-
- /**
- * The meta object literal for the '<em><b>Right</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MATCH__RIGHT = eINSTANCE.getMatch_Right();
-
- /**
- * The meta object literal for the '<em><b>Origin</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MATCH__ORIGIN = eINSTANCE.getMatch_Origin();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.impl.DiffImpl <em>Diff</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.DiffImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDiff()
- * @generated
- */
- EClass DIFF = eINSTANCE.getDiff();
-
- /**
- * The meta object literal for the '<em><b>Match</b></em>' container reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference DIFF__MATCH = eINSTANCE.getDiff_Match();
-
- /**
- * The meta object literal for the '<em><b>Requires</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference DIFF__REQUIRES = eINSTANCE.getDiff_Requires();
-
- /**
- * The meta object literal for the '<em><b>Required By</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference DIFF__REQUIRED_BY = eINSTANCE.getDiff_RequiredBy();
-
- /**
- * The meta object literal for the '<em><b>Refines</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference DIFF__REFINES = eINSTANCE.getDiff_Refines();
-
- /**
- * The meta object literal for the '<em><b>Refined By</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference DIFF__REFINED_BY = eINSTANCE.getDiff_RefinedBy();
-
- /**
- * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute DIFF__KIND = eINSTANCE.getDiff_Kind();
-
- /**
- * The meta object literal for the '<em><b>Source</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute DIFF__SOURCE = eINSTANCE.getDiff_Source();
-
- /**
- * The meta object literal for the '<em><b>State</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute DIFF__STATE = eINSTANCE.getDiff_State();
-
- /**
- * The meta object literal for the '<em><b>Equivalence</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference DIFF__EQUIVALENCE = eINSTANCE.getDiff_Equivalence();
-
- /**
- * The meta object literal for the '<em><b>Conflict</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference DIFF__CONFLICT = eINSTANCE.getDiff_Conflict();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.impl.ResourceAttachmentChangeImpl <em>Resource Attachment Change</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.ResourceAttachmentChangeImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getResourceAttachmentChange()
- * @generated
- */
- EClass RESOURCE_ATTACHMENT_CHANGE = eINSTANCE.getResourceAttachmentChange();
-
- /**
- * The meta object literal for the '<em><b>Resource URI</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute RESOURCE_ATTACHMENT_CHANGE__RESOURCE_URI = eINSTANCE
- .getResourceAttachmentChange_ResourceURI();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.impl.ReferenceChangeImpl <em>Reference Change</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.ReferenceChangeImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getReferenceChange()
- * @generated
- */
- EClass REFERENCE_CHANGE = eINSTANCE.getReferenceChange();
-
- /**
- * The meta object literal for the '<em><b>Reference</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference REFERENCE_CHANGE__REFERENCE = eINSTANCE.getReferenceChange_Reference();
-
- /**
- * The meta object literal for the '<em><b>Value</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference REFERENCE_CHANGE__VALUE = eINSTANCE.getReferenceChange_Value();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.impl.AttributeChangeImpl <em>Attribute Change</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.AttributeChangeImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getAttributeChange()
- * @generated
- */
- EClass ATTRIBUTE_CHANGE = eINSTANCE.getAttributeChange();
-
- /**
- * The meta object literal for the '<em><b>Attribute</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference ATTRIBUTE_CHANGE__ATTRIBUTE = eINSTANCE.getAttributeChange_Attribute();
-
- /**
- * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute ATTRIBUTE_CHANGE__VALUE = eINSTANCE.getAttributeChange_Value();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.impl.ConflictImpl <em>Conflict</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.ConflictImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getConflict()
- * @generated
- */
- EClass CONFLICT = eINSTANCE.getConflict();
-
- /**
- * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute CONFLICT__KIND = eINSTANCE.getConflict_Kind();
-
- /**
- * The meta object literal for the '<em><b>Differences</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference CONFLICT__DIFFERENCES = eINSTANCE.getConflict_Differences();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.impl.EquivalenceImpl <em>Equivalence</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.impl.EquivalenceImpl
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getEquivalence()
- * @generated
- */
- EClass EQUIVALENCE = eINSTANCE.getEquivalence();
-
- /**
- * The meta object literal for the '<em><b>Differences</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference EQUIVALENCE__DIFFERENCES = eINSTANCE.getEquivalence_Differences();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.DifferenceKind <em>Difference Kind</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.DifferenceKind
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceKind()
- * @generated
- */
- EEnum DIFFERENCE_KIND = eINSTANCE.getDifferenceKind();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.DifferenceSource <em>Difference Source</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.DifferenceSource
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceSource()
- * @generated
- */
- EEnum DIFFERENCE_SOURCE = eINSTANCE.getDifferenceSource();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.DifferenceState <em>Difference State</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.DifferenceState
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceState()
- * @generated
- */
- EEnum DIFFERENCE_STATE = eINSTANCE.getDifferenceState();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.compare.ConflictKind <em>Conflict Kind</em>}' enum.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.ConflictKind
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getConflictKind()
- * @generated
- */
- EEnum CONFLICT_KIND = eINSTANCE.getConflictKind();
-
- /**
- * The meta object literal for the '<em>EIterable</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see java.lang.Iterable
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getEIterable()
- * @generated
- */
- EDataType EITERABLE = eINSTANCE.getEIterable();
-
- /**
- * The meta object literal for the '<em>IEquality Helper</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.compare.utils.IEqualityHelper
- * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getIEqualityHelper()
- * @generated
- */
- EDataType IEQUALITY_HELPER = eINSTANCE.getIEqualityHelper();
-
- }
-
-} //ComparePackage
+/** + * Copyright (c) 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; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.CompareFactory + * @model kind="package" + * @generated + */ +public interface ComparePackage extends EPackage { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$ + + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "compare"; //$NON-NLS-1$ + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.eclipse.org/emf/compare"; //$NON-NLS-1$ + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "compare"; //$NON-NLS-1$ + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + ComparePackage eINSTANCE = org.eclipse.emf.compare.impl.ComparePackageImpl.init(); + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.impl.ComparisonImpl <em>Comparison</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.ComparisonImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getComparison() + * @generated + */ + int COMPARISON = 0; + + /** + * The feature id for the '<em><b>Matched Resources</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMPARISON__MATCHED_RESOURCES = 0; + + /** + * The feature id for the '<em><b>Matches</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMPARISON__MATCHES = 1; + + /** + * The feature id for the '<em><b>Conflicts</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMPARISON__CONFLICTS = 2; + + /** + * The feature id for the '<em><b>Equivalences</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMPARISON__EQUIVALENCES = 3; + + /** + * The feature id for the '<em><b>Three Way</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMPARISON__THREE_WAY = 4; + + /** + * The number of structural features of the '<em>Comparison</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COMPARISON_FEATURE_COUNT = 5; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.impl.MatchResourceImpl <em>Match Resource</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.MatchResourceImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getMatchResource() + * @generated + */ + int MATCH_RESOURCE = 1; + + /** + * The feature id for the '<em><b>Left URI</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH_RESOURCE__LEFT_URI = 0; + + /** + * The feature id for the '<em><b>Right URI</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH_RESOURCE__RIGHT_URI = 1; + + /** + * The feature id for the '<em><b>Origin URI</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH_RESOURCE__ORIGIN_URI = 2; + + /** + * The feature id for the '<em><b>Left</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH_RESOURCE__LEFT = 3; + + /** + * The feature id for the '<em><b>Right</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH_RESOURCE__RIGHT = 4; + + /** + * The feature id for the '<em><b>Origin</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH_RESOURCE__ORIGIN = 5; + + /** + * The feature id for the '<em><b>Comparison</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH_RESOURCE__COMPARISON = 6; + + /** + * The number of structural features of the '<em>Match Resource</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH_RESOURCE_FEATURE_COUNT = 7; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.impl.MatchImpl <em>Match</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.MatchImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getMatch() + * @generated + */ + int MATCH = 2; + + /** + * The feature id for the '<em><b>Submatches</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH__SUBMATCHES = 0; + + /** + * The feature id for the '<em><b>Differences</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH__DIFFERENCES = 1; + + /** + * The feature id for the '<em><b>Left</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH__LEFT = 2; + + /** + * The feature id for the '<em><b>Right</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH__RIGHT = 3; + + /** + * The feature id for the '<em><b>Origin</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH__ORIGIN = 4; + + /** + * The number of structural features of the '<em>Match</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int MATCH_FEATURE_COUNT = 5; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.impl.DiffImpl <em>Diff</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.DiffImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDiff() + * @generated + */ + int DIFF = 3; + + /** + * The feature id for the '<em><b>Match</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DIFF__MATCH = 0; + + /** + * The feature id for the '<em><b>Requires</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DIFF__REQUIRES = 1; + + /** + * The feature id for the '<em><b>Required By</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DIFF__REQUIRED_BY = 2; + + /** + * The feature id for the '<em><b>Refines</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DIFF__REFINES = 3; + + /** + * The feature id for the '<em><b>Refined By</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DIFF__REFINED_BY = 4; + + /** + * The feature id for the '<em><b>Kind</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DIFF__KIND = 5; + + /** + * The feature id for the '<em><b>Source</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DIFF__SOURCE = 6; + + /** + * The feature id for the '<em><b>State</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DIFF__STATE = 7; + + /** + * The feature id for the '<em><b>Equivalence</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DIFF__EQUIVALENCE = 8; + + /** + * The feature id for the '<em><b>Conflict</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DIFF__CONFLICT = 9; + + /** + * The number of structural features of the '<em>Diff</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int DIFF_FEATURE_COUNT = 10; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.impl.ResourceAttachmentChangeImpl <em>Resource Attachment Change</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.ResourceAttachmentChangeImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getResourceAttachmentChange() + * @generated + */ + int RESOURCE_ATTACHMENT_CHANGE = 4; + + /** + * The feature id for the '<em><b>Match</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE__MATCH = DIFF__MATCH; + + /** + * The feature id for the '<em><b>Requires</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE__REQUIRES = DIFF__REQUIRES; + + /** + * The feature id for the '<em><b>Required By</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE__REQUIRED_BY = DIFF__REQUIRED_BY; + + /** + * The feature id for the '<em><b>Refines</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE__REFINES = DIFF__REFINES; + + /** + * The feature id for the '<em><b>Refined By</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE__REFINED_BY = DIFF__REFINED_BY; + + /** + * The feature id for the '<em><b>Kind</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE__KIND = DIFF__KIND; + + /** + * The feature id for the '<em><b>Source</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE__SOURCE = DIFF__SOURCE; + + /** + * The feature id for the '<em><b>State</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE__STATE = DIFF__STATE; + + /** + * The feature id for the '<em><b>Equivalence</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE__EQUIVALENCE = DIFF__EQUIVALENCE; + + /** + * The feature id for the '<em><b>Conflict</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE__CONFLICT = DIFF__CONFLICT; + + /** + * The feature id for the '<em><b>Resource URI</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE__RESOURCE_URI = DIFF_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Resource Attachment Change</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RESOURCE_ATTACHMENT_CHANGE_FEATURE_COUNT = DIFF_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.impl.ReferenceChangeImpl <em>Reference Change</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.ReferenceChangeImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getReferenceChange() + * @generated + */ + int REFERENCE_CHANGE = 5; + + /** + * The feature id for the '<em><b>Match</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__MATCH = DIFF__MATCH; + + /** + * The feature id for the '<em><b>Requires</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__REQUIRES = DIFF__REQUIRES; + + /** + * The feature id for the '<em><b>Required By</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__REQUIRED_BY = DIFF__REQUIRED_BY; + + /** + * The feature id for the '<em><b>Refines</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__REFINES = DIFF__REFINES; + + /** + * The feature id for the '<em><b>Refined By</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__REFINED_BY = DIFF__REFINED_BY; + + /** + * The feature id for the '<em><b>Kind</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__KIND = DIFF__KIND; + + /** + * The feature id for the '<em><b>Source</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__SOURCE = DIFF__SOURCE; + + /** + * The feature id for the '<em><b>State</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__STATE = DIFF__STATE; + + /** + * The feature id for the '<em><b>Equivalence</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__EQUIVALENCE = DIFF__EQUIVALENCE; + + /** + * The feature id for the '<em><b>Conflict</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__CONFLICT = DIFF__CONFLICT; + + /** + * The feature id for the '<em><b>Reference</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__REFERENCE = DIFF_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Value</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE__VALUE = DIFF_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Reference Change</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int REFERENCE_CHANGE_FEATURE_COUNT = DIFF_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.impl.AttributeChangeImpl <em>Attribute Change</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.AttributeChangeImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getAttributeChange() + * @generated + */ + int ATTRIBUTE_CHANGE = 6; + + /** + * The feature id for the '<em><b>Match</b></em>' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__MATCH = DIFF__MATCH; + + /** + * The feature id for the '<em><b>Requires</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__REQUIRES = DIFF__REQUIRES; + + /** + * The feature id for the '<em><b>Required By</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__REQUIRED_BY = DIFF__REQUIRED_BY; + + /** + * The feature id for the '<em><b>Refines</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__REFINES = DIFF__REFINES; + + /** + * The feature id for the '<em><b>Refined By</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__REFINED_BY = DIFF__REFINED_BY; + + /** + * The feature id for the '<em><b>Kind</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__KIND = DIFF__KIND; + + /** + * The feature id for the '<em><b>Source</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__SOURCE = DIFF__SOURCE; + + /** + * The feature id for the '<em><b>State</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__STATE = DIFF__STATE; + + /** + * The feature id for the '<em><b>Equivalence</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__EQUIVALENCE = DIFF__EQUIVALENCE; + + /** + * The feature id for the '<em><b>Conflict</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__CONFLICT = DIFF__CONFLICT; + + /** + * The feature id for the '<em><b>Attribute</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__ATTRIBUTE = DIFF_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Value</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE__VALUE = DIFF_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Attribute Change</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int ATTRIBUTE_CHANGE_FEATURE_COUNT = DIFF_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.impl.ConflictImpl <em>Conflict</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.ConflictImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getConflict() + * @generated + */ + int CONFLICT = 7; + + /** + * The feature id for the '<em><b>Kind</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONFLICT__KIND = 0; + + /** + * The feature id for the '<em><b>Differences</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONFLICT__DIFFERENCES = 1; + + /** + * The number of structural features of the '<em>Conflict</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONFLICT_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.impl.EquivalenceImpl <em>Equivalence</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.EquivalenceImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getEquivalence() + * @generated + */ + int EQUIVALENCE = 8; + + /** + * The feature id for the '<em><b>Differences</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EQUIVALENCE__DIFFERENCES = 0; + + /** + * The number of structural features of the '<em>Equivalence</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int EQUIVALENCE_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.DifferenceKind <em>Difference Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.DifferenceKind + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceKind() + * @generated + */ + int DIFFERENCE_KIND = 9; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.DifferenceSource <em>Difference Source</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.DifferenceSource + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceSource() + * @generated + */ + int DIFFERENCE_SOURCE = 10; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.DifferenceState <em>Difference State</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.DifferenceState + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceState() + * @generated + */ + int DIFFERENCE_STATE = 11; + + /** + * The meta object id for the '{@link org.eclipse.emf.compare.ConflictKind <em>Conflict Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.ConflictKind + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getConflictKind() + * @generated + */ + int CONFLICT_KIND = 12; + + /** + * The meta object id for the '<em>EIterable</em>' data type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see java.lang.Iterable + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getEIterable() + * @generated + */ + int EITERABLE = 13; + + /** + * The meta object id for the '<em>IEquality Helper</em>' data type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.utils.IEqualityHelper + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getIEqualityHelper() + * @generated + */ + int IEQUALITY_HELPER = 14; + + /** + * Returns the meta object for class '{@link org.eclipse.emf.compare.Comparison <em>Comparison</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Comparison</em>'. + * @see org.eclipse.emf.compare.Comparison + * @generated + */ + EClass getComparison(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Comparison#getMatchedResources <em>Matched Resources</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Matched Resources</em>'. + * @see org.eclipse.emf.compare.Comparison#getMatchedResources() + * @see #getComparison() + * @generated + */ + EReference getComparison_MatchedResources(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Comparison#getMatches <em>Matches</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Matches</em>'. + * @see org.eclipse.emf.compare.Comparison#getMatches() + * @see #getComparison() + * @generated + */ + EReference getComparison_Matches(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Comparison#getConflicts <em>Conflicts</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Conflicts</em>'. + * @see org.eclipse.emf.compare.Comparison#getConflicts() + * @see #getComparison() + * @generated + */ + EReference getComparison_Conflicts(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Comparison#getEquivalences <em>Equivalences</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Equivalences</em>'. + * @see org.eclipse.emf.compare.Comparison#getEquivalences() + * @see #getComparison() + * @generated + */ + EReference getComparison_Equivalences(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.Comparison#isThreeWay <em>Three Way</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Three Way</em>'. + * @see org.eclipse.emf.compare.Comparison#isThreeWay() + * @see #getComparison() + * @generated + */ + EAttribute getComparison_ThreeWay(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.compare.MatchResource <em>Match Resource</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Match Resource</em>'. + * @see org.eclipse.emf.compare.MatchResource + * @generated + */ + EClass getMatchResource(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getLeftURI <em>Left URI</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Left URI</em>'. + * @see org.eclipse.emf.compare.MatchResource#getLeftURI() + * @see #getMatchResource() + * @generated + */ + EAttribute getMatchResource_LeftURI(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getRightURI <em>Right URI</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Right URI</em>'. + * @see org.eclipse.emf.compare.MatchResource#getRightURI() + * @see #getMatchResource() + * @generated + */ + EAttribute getMatchResource_RightURI(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getOriginURI <em>Origin URI</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Origin URI</em>'. + * @see org.eclipse.emf.compare.MatchResource#getOriginURI() + * @see #getMatchResource() + * @generated + */ + EAttribute getMatchResource_OriginURI(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getLeft <em>Left</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Left</em>'. + * @see org.eclipse.emf.compare.MatchResource#getLeft() + * @see #getMatchResource() + * @generated + */ + EAttribute getMatchResource_Left(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getRight <em>Right</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Right</em>'. + * @see org.eclipse.emf.compare.MatchResource#getRight() + * @see #getMatchResource() + * @generated + */ + EAttribute getMatchResource_Right(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.MatchResource#getOrigin <em>Origin</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Origin</em>'. + * @see org.eclipse.emf.compare.MatchResource#getOrigin() + * @see #getMatchResource() + * @generated + */ + EAttribute getMatchResource_Origin(); + + /** + * Returns the meta object for the container reference '{@link org.eclipse.emf.compare.MatchResource#getComparison <em>Comparison</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Comparison</em>'. + * @see org.eclipse.emf.compare.MatchResource#getComparison() + * @see #getMatchResource() + * @generated + */ + EReference getMatchResource_Comparison(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.compare.Match <em>Match</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Match</em>'. + * @see org.eclipse.emf.compare.Match + * @generated + */ + EClass getMatch(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Match#getSubmatches <em>Submatches</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Submatches</em>'. + * @see org.eclipse.emf.compare.Match#getSubmatches() + * @see #getMatch() + * @generated + */ + EReference getMatch_Submatches(); + + /** + * Returns the meta object for the containment reference list '{@link org.eclipse.emf.compare.Match#getDifferences <em>Differences</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Differences</em>'. + * @see org.eclipse.emf.compare.Match#getDifferences() + * @see #getMatch() + * @generated + */ + EReference getMatch_Differences(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.compare.Match#getLeft <em>Left</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Left</em>'. + * @see org.eclipse.emf.compare.Match#getLeft() + * @see #getMatch() + * @generated + */ + EReference getMatch_Left(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.compare.Match#getRight <em>Right</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Right</em>'. + * @see org.eclipse.emf.compare.Match#getRight() + * @see #getMatch() + * @generated + */ + EReference getMatch_Right(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.compare.Match#getOrigin <em>Origin</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Origin</em>'. + * @see org.eclipse.emf.compare.Match#getOrigin() + * @see #getMatch() + * @generated + */ + EReference getMatch_Origin(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.compare.Diff <em>Diff</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Diff</em>'. + * @see org.eclipse.emf.compare.Diff + * @generated + */ + EClass getDiff(); + + /** + * Returns the meta object for the container reference '{@link org.eclipse.emf.compare.Diff#getMatch <em>Match</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the container reference '<em>Match</em>'. + * @see org.eclipse.emf.compare.Diff#getMatch() + * @see #getDiff() + * @generated + */ + EReference getDiff_Match(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Diff#getRequires <em>Requires</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Requires</em>'. + * @see org.eclipse.emf.compare.Diff#getRequires() + * @see #getDiff() + * @generated + */ + EReference getDiff_Requires(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Diff#getRequiredBy <em>Required By</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Required By</em>'. + * @see org.eclipse.emf.compare.Diff#getRequiredBy() + * @see #getDiff() + * @generated + */ + EReference getDiff_RequiredBy(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Diff#getRefines <em>Refines</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Refines</em>'. + * @see org.eclipse.emf.compare.Diff#getRefines() + * @see #getDiff() + * @generated + */ + EReference getDiff_Refines(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Diff#getRefinedBy <em>Refined By</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Refined By</em>'. + * @see org.eclipse.emf.compare.Diff#getRefinedBy() + * @see #getDiff() + * @generated + */ + EReference getDiff_RefinedBy(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.Diff#getKind <em>Kind</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Kind</em>'. + * @see org.eclipse.emf.compare.Diff#getKind() + * @see #getDiff() + * @generated + */ + EAttribute getDiff_Kind(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.Diff#getSource <em>Source</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Source</em>'. + * @see org.eclipse.emf.compare.Diff#getSource() + * @see #getDiff() + * @generated + */ + EAttribute getDiff_Source(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.Diff#getState <em>State</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>State</em>'. + * @see org.eclipse.emf.compare.Diff#getState() + * @see #getDiff() + * @generated + */ + EAttribute getDiff_State(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.compare.Diff#getEquivalence <em>Equivalence</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Equivalence</em>'. + * @see org.eclipse.emf.compare.Diff#getEquivalence() + * @see #getDiff() + * @generated + */ + EReference getDiff_Equivalence(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.compare.Diff#getConflict <em>Conflict</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Conflict</em>'. + * @see org.eclipse.emf.compare.Diff#getConflict() + * @see #getDiff() + * @generated + */ + EReference getDiff_Conflict(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.compare.ResourceAttachmentChange <em>Resource Attachment Change</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Resource Attachment Change</em>'. + * @see org.eclipse.emf.compare.ResourceAttachmentChange + * @generated + */ + EClass getResourceAttachmentChange(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.ResourceAttachmentChange#getResourceURI <em>Resource URI</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Resource URI</em>'. + * @see org.eclipse.emf.compare.ResourceAttachmentChange#getResourceURI() + * @see #getResourceAttachmentChange() + * @generated + */ + EAttribute getResourceAttachmentChange_ResourceURI(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.compare.ReferenceChange <em>Reference Change</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Reference Change</em>'. + * @see org.eclipse.emf.compare.ReferenceChange + * @generated + */ + EClass getReferenceChange(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.compare.ReferenceChange#getReference <em>Reference</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Reference</em>'. + * @see org.eclipse.emf.compare.ReferenceChange#getReference() + * @see #getReferenceChange() + * @generated + */ + EReference getReferenceChange_Reference(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.compare.ReferenceChange#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Value</em>'. + * @see org.eclipse.emf.compare.ReferenceChange#getValue() + * @see #getReferenceChange() + * @generated + */ + EReference getReferenceChange_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.compare.AttributeChange <em>Attribute Change</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Attribute Change</em>'. + * @see org.eclipse.emf.compare.AttributeChange + * @generated + */ + EClass getAttributeChange(); + + /** + * Returns the meta object for the reference '{@link org.eclipse.emf.compare.AttributeChange#getAttribute <em>Attribute</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Attribute</em>'. + * @see org.eclipse.emf.compare.AttributeChange#getAttribute() + * @see #getAttributeChange() + * @generated + */ + EReference getAttributeChange_Attribute(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.AttributeChange#getValue <em>Value</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Value</em>'. + * @see org.eclipse.emf.compare.AttributeChange#getValue() + * @see #getAttributeChange() + * @generated + */ + EAttribute getAttributeChange_Value(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.compare.Conflict <em>Conflict</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Conflict</em>'. + * @see org.eclipse.emf.compare.Conflict + * @generated + */ + EClass getConflict(); + + /** + * Returns the meta object for the attribute '{@link org.eclipse.emf.compare.Conflict#getKind <em>Kind</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Kind</em>'. + * @see org.eclipse.emf.compare.Conflict#getKind() + * @see #getConflict() + * @generated + */ + EAttribute getConflict_Kind(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Conflict#getDifferences <em>Differences</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Differences</em>'. + * @see org.eclipse.emf.compare.Conflict#getDifferences() + * @see #getConflict() + * @generated + */ + EReference getConflict_Differences(); + + /** + * Returns the meta object for class '{@link org.eclipse.emf.compare.Equivalence <em>Equivalence</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Equivalence</em>'. + * @see org.eclipse.emf.compare.Equivalence + * @generated + */ + EClass getEquivalence(); + + /** + * Returns the meta object for the reference list '{@link org.eclipse.emf.compare.Equivalence#getDifferences <em>Differences</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Differences</em>'. + * @see org.eclipse.emf.compare.Equivalence#getDifferences() + * @see #getEquivalence() + * @generated + */ + EReference getEquivalence_Differences(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.compare.DifferenceKind <em>Difference Kind</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Difference Kind</em>'. + * @see org.eclipse.emf.compare.DifferenceKind + * @generated + */ + EEnum getDifferenceKind(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.compare.DifferenceSource <em>Difference Source</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Difference Source</em>'. + * @see org.eclipse.emf.compare.DifferenceSource + * @generated + */ + EEnum getDifferenceSource(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.compare.DifferenceState <em>Difference State</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Difference State</em>'. + * @see org.eclipse.emf.compare.DifferenceState + * @generated + */ + EEnum getDifferenceState(); + + /** + * Returns the meta object for enum '{@link org.eclipse.emf.compare.ConflictKind <em>Conflict Kind</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for enum '<em>Conflict Kind</em>'. + * @see org.eclipse.emf.compare.ConflictKind + * @generated + */ + EEnum getConflictKind(); + + /** + * Returns the meta object for data type '{@link java.lang.Iterable <em>EIterable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for data type '<em>EIterable</em>'. + * @see java.lang.Iterable + * @model instanceClass="java.lang.Iterable" typeParameters="T" + * @generated + */ + EDataType getEIterable(); + + /** + * Returns the meta object for data type '{@link org.eclipse.emf.compare.utils.IEqualityHelper <em>IEquality Helper</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for data type '<em>IEquality Helper</em>'. + * @see org.eclipse.emf.compare.utils.IEqualityHelper + * @model instanceClass="org.eclipse.emf.compare.utils.IEqualityHelper" serializeable="false" + * @generated + */ + EDataType getIEqualityHelper(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + CompareFactory getCompareFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("hiding") + // generated code, removing warnings + interface Literals { + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.impl.ComparisonImpl <em>Comparison</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.ComparisonImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getComparison() + * @generated + */ + EClass COMPARISON = eINSTANCE.getComparison(); + + /** + * The meta object literal for the '<em><b>Matched Resources</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COMPARISON__MATCHED_RESOURCES = eINSTANCE.getComparison_MatchedResources(); + + /** + * The meta object literal for the '<em><b>Matches</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COMPARISON__MATCHES = eINSTANCE.getComparison_Matches(); + + /** + * The meta object literal for the '<em><b>Conflicts</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COMPARISON__CONFLICTS = eINSTANCE.getComparison_Conflicts(); + + /** + * The meta object literal for the '<em><b>Equivalences</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference COMPARISON__EQUIVALENCES = eINSTANCE.getComparison_Equivalences(); + + /** + * The meta object literal for the '<em><b>Three Way</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COMPARISON__THREE_WAY = eINSTANCE.getComparison_ThreeWay(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.impl.MatchResourceImpl <em>Match Resource</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.MatchResourceImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getMatchResource() + * @generated + */ + EClass MATCH_RESOURCE = eINSTANCE.getMatchResource(); + + /** + * The meta object literal for the '<em><b>Left URI</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute MATCH_RESOURCE__LEFT_URI = eINSTANCE.getMatchResource_LeftURI(); + + /** + * The meta object literal for the '<em><b>Right URI</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute MATCH_RESOURCE__RIGHT_URI = eINSTANCE.getMatchResource_RightURI(); + + /** + * The meta object literal for the '<em><b>Origin URI</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute MATCH_RESOURCE__ORIGIN_URI = eINSTANCE.getMatchResource_OriginURI(); + + /** + * The meta object literal for the '<em><b>Left</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute MATCH_RESOURCE__LEFT = eINSTANCE.getMatchResource_Left(); + + /** + * The meta object literal for the '<em><b>Right</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute MATCH_RESOURCE__RIGHT = eINSTANCE.getMatchResource_Right(); + + /** + * The meta object literal for the '<em><b>Origin</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute MATCH_RESOURCE__ORIGIN = eINSTANCE.getMatchResource_Origin(); + + /** + * The meta object literal for the '<em><b>Comparison</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference MATCH_RESOURCE__COMPARISON = eINSTANCE.getMatchResource_Comparison(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.impl.MatchImpl <em>Match</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.MatchImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getMatch() + * @generated + */ + EClass MATCH = eINSTANCE.getMatch(); + + /** + * The meta object literal for the '<em><b>Submatches</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference MATCH__SUBMATCHES = eINSTANCE.getMatch_Submatches(); + + /** + * The meta object literal for the '<em><b>Differences</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference MATCH__DIFFERENCES = eINSTANCE.getMatch_Differences(); + + /** + * The meta object literal for the '<em><b>Left</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference MATCH__LEFT = eINSTANCE.getMatch_Left(); + + /** + * The meta object literal for the '<em><b>Right</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference MATCH__RIGHT = eINSTANCE.getMatch_Right(); + + /** + * The meta object literal for the '<em><b>Origin</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference MATCH__ORIGIN = eINSTANCE.getMatch_Origin(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.impl.DiffImpl <em>Diff</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.DiffImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDiff() + * @generated + */ + EClass DIFF = eINSTANCE.getDiff(); + + /** + * The meta object literal for the '<em><b>Match</b></em>' container reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DIFF__MATCH = eINSTANCE.getDiff_Match(); + + /** + * The meta object literal for the '<em><b>Requires</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DIFF__REQUIRES = eINSTANCE.getDiff_Requires(); + + /** + * The meta object literal for the '<em><b>Required By</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DIFF__REQUIRED_BY = eINSTANCE.getDiff_RequiredBy(); + + /** + * The meta object literal for the '<em><b>Refines</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DIFF__REFINES = eINSTANCE.getDiff_Refines(); + + /** + * The meta object literal for the '<em><b>Refined By</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DIFF__REFINED_BY = eINSTANCE.getDiff_RefinedBy(); + + /** + * The meta object literal for the '<em><b>Kind</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute DIFF__KIND = eINSTANCE.getDiff_Kind(); + + /** + * The meta object literal for the '<em><b>Source</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute DIFF__SOURCE = eINSTANCE.getDiff_Source(); + + /** + * The meta object literal for the '<em><b>State</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute DIFF__STATE = eINSTANCE.getDiff_State(); + + /** + * The meta object literal for the '<em><b>Equivalence</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DIFF__EQUIVALENCE = eINSTANCE.getDiff_Equivalence(); + + /** + * The meta object literal for the '<em><b>Conflict</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference DIFF__CONFLICT = eINSTANCE.getDiff_Conflict(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.impl.ResourceAttachmentChangeImpl <em>Resource Attachment Change</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.ResourceAttachmentChangeImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getResourceAttachmentChange() + * @generated + */ + EClass RESOURCE_ATTACHMENT_CHANGE = eINSTANCE.getResourceAttachmentChange(); + + /** + * The meta object literal for the '<em><b>Resource URI</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute RESOURCE_ATTACHMENT_CHANGE__RESOURCE_URI = eINSTANCE + .getResourceAttachmentChange_ResourceURI(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.impl.ReferenceChangeImpl <em>Reference Change</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.ReferenceChangeImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getReferenceChange() + * @generated + */ + EClass REFERENCE_CHANGE = eINSTANCE.getReferenceChange(); + + /** + * The meta object literal for the '<em><b>Reference</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference REFERENCE_CHANGE__REFERENCE = eINSTANCE.getReferenceChange_Reference(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference REFERENCE_CHANGE__VALUE = eINSTANCE.getReferenceChange_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.impl.AttributeChangeImpl <em>Attribute Change</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.AttributeChangeImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getAttributeChange() + * @generated + */ + EClass ATTRIBUTE_CHANGE = eINSTANCE.getAttributeChange(); + + /** + * The meta object literal for the '<em><b>Attribute</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ATTRIBUTE_CHANGE__ATTRIBUTE = eINSTANCE.getAttributeChange_Attribute(); + + /** + * The meta object literal for the '<em><b>Value</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute ATTRIBUTE_CHANGE__VALUE = eINSTANCE.getAttributeChange_Value(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.impl.ConflictImpl <em>Conflict</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.ConflictImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getConflict() + * @generated + */ + EClass CONFLICT = eINSTANCE.getConflict(); + + /** + * The meta object literal for the '<em><b>Kind</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute CONFLICT__KIND = eINSTANCE.getConflict_Kind(); + + /** + * The meta object literal for the '<em><b>Differences</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CONFLICT__DIFFERENCES = eINSTANCE.getConflict_Differences(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.impl.EquivalenceImpl <em>Equivalence</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.impl.EquivalenceImpl + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getEquivalence() + * @generated + */ + EClass EQUIVALENCE = eINSTANCE.getEquivalence(); + + /** + * The meta object literal for the '<em><b>Differences</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference EQUIVALENCE__DIFFERENCES = eINSTANCE.getEquivalence_Differences(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.DifferenceKind <em>Difference Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.DifferenceKind + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceKind() + * @generated + */ + EEnum DIFFERENCE_KIND = eINSTANCE.getDifferenceKind(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.DifferenceSource <em>Difference Source</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.DifferenceSource + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceSource() + * @generated + */ + EEnum DIFFERENCE_SOURCE = eINSTANCE.getDifferenceSource(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.DifferenceState <em>Difference State</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.DifferenceState + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getDifferenceState() + * @generated + */ + EEnum DIFFERENCE_STATE = eINSTANCE.getDifferenceState(); + + /** + * The meta object literal for the '{@link org.eclipse.emf.compare.ConflictKind <em>Conflict Kind</em>}' enum. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.ConflictKind + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getConflictKind() + * @generated + */ + EEnum CONFLICT_KIND = eINSTANCE.getConflictKind(); + + /** + * The meta object literal for the '<em>EIterable</em>' data type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see java.lang.Iterable + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getEIterable() + * @generated + */ + EDataType EITERABLE = eINSTANCE.getEIterable(); + + /** + * The meta object literal for the '<em>IEquality Helper</em>' data type. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.compare.utils.IEqualityHelper + * @see org.eclipse.emf.compare.impl.ComparePackageImpl#getIEqualityHelper() + * @generated + */ + EDataType IEQUALITY_HELPER = eINSTANCE.getIEqualityHelper(); + + } + +} //ComparePackage diff --git a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/Comparison.java b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/Comparison.java index 37c811e89..526b70d2a 100644 --- a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/Comparison.java +++ b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/Comparison.java @@ -1,170 +1,167 @@ -/**
- * Copyright (c) 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;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.compare.utils.IEqualityHelper;
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc --> A representation of the model object '<em><b>Comparison</b></em>'. <!--
- * end-user-doc --> <!-- begin-model-doc --> This will act as the "root" of a comparison. It will reference
- * one match for every root of the input models, along with the differences detected for each of them. <!--
- * end-model-doc -->
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.compare.Comparison#getMatchedResources <em>Matched Resources</em>}</li>
- * <li>{@link org.eclipse.emf.compare.Comparison#getMatches <em>Matches</em>}</li>
- * <li>{@link org.eclipse.emf.compare.Comparison#getConflicts <em>Conflicts</em>}</li>
- * <li>{@link org.eclipse.emf.compare.Comparison#getEquivalences <em>Equivalences</em>}</li>
- * <li>{@link org.eclipse.emf.compare.Comparison#isThreeWay <em>Three Way</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.emf.compare.ComparePackage#getComparison()
- * @model
- * @generated
- */
-public interface Comparison extends EObject {
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Matched Resources</b></em>' containment reference list. The list
- * contents are of type {@link org.eclipse.emf.compare.MatchResource}. <!-- begin-user-doc --> <!--
- * end-user-doc --> <!-- begin-model-doc --> This contains the mappings for each compared Resource. <!--
- * end-model-doc -->
- *
- * @return the value of the '<em>Matched Resources</em>' containment reference list.
- * @see org.eclipse.emf.compare.ComparePackage#getComparison_MatchedResources()
- * @model containment="true"
- * @generated
- */
- EList<MatchResource> getMatchedResources();
-
- /**
- * Returns the value of the '<em><b>Matches</b></em>' containment reference list. The list contents are of
- * type {@link org.eclipse.emf.compare.Match}. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
- * begin-model-doc --> This contains the match tree "mimicking" the input models' hierarchy. <!--
- * end-model-doc -->
- *
- * @return the value of the '<em>Matches</em>' containment reference list.
- * @see org.eclipse.emf.compare.ComparePackage#getComparison_Matches()
- * @model containment="true"
- * @generated
- */
- EList<Match> getMatches();
-
- /**
- * Returns the value of the '<em><b>Conflicts</b></em>' containment reference list. The list contents are
- * of type {@link org.eclipse.emf.compare.Conflict}. <!-- begin-user-doc --> <!-- end-user-doc --> <!--
- * begin-model-doc --> If we detected any conflict during the comparison process, this will contain them.
- * <!-- end-model-doc -->
- *
- * @return the value of the '<em>Conflicts</em>' containment reference list.
- * @see org.eclipse.emf.compare.ComparePackage#getComparison_Conflicts()
- * @model containment="true"
- * @generated
- */
- EList<Conflict> getConflicts();
-
- /**
- * Returns the value of the '<em><b>Equivalences</b></em>' containment reference list. The list contents
- * are of type {@link org.eclipse.emf.compare.Equivalence}. <!-- begin-user-doc --> <!-- end-user-doc -->
- * <!-- begin-model-doc --> If we detected any equivalence between diffs during the comparison process,
- * this will contain them. <!-- end-model-doc -->
- *
- * @return the value of the '<em>Equivalences</em>' containment reference list.
- * @see org.eclipse.emf.compare.ComparePackage#getComparison_Equivalences()
- * @model containment="true"
- * @generated
- */
- EList<Equivalence> getEquivalences();
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Returns all differences
- * contained by this Comparison and its children. <!-- end-model-doc -->
- *
- * @model kind="operation"
- * @generated
- */
- EList<Diff> getDifferences();
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Returns all differences that
- * reference the given EObject (for instance, all ReferenceChanges that reference the given EObject
- * through the "value" EReference).
- * <p>
- * To get differences detected on the given EObject or one of its counterpart in left, right or origin,
- * you should call the following code:
- *
- * <pre>
- * Match match = getMatch(eObject);
- * if (match != null) {
- * differences = match.getDifferences();
- * }
- * </pre>
- *
- * @param element
- * The EObject for which we seek all related differences. <!-- end-model-doc -->
- * @model
- * @generated
- */
- EList<Diff> getDifferences(EObject element);
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Finds and return the Match for
- * the given EObject.
- *
- * @param element
- * The EObject for which we seek the match. <!-- end-model-doc -->
- * @model
- * @generated
- */
- Match getMatch(EObject element);
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @model kind="operation" dataType="org.eclipse.emf.compare.IEqualityHelper"
- * @generated
- */
- IEqualityHelper getEqualityHelper();
-
- /**
- * Returns the value of the '<em><b>Three Way</b></em>' attribute. <!-- begin-user-doc --> <!--
- * end-user-doc -->
- *
- * @return the value of the '<em>Three Way</em>' attribute.
- * @see #setThreeWay(boolean)
- * @see org.eclipse.emf.compare.ComparePackage#getComparison_ThreeWay()
- * @model
- * @generated
- */
- boolean isThreeWay();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.compare.Comparison#isThreeWay <em>Three Way</em>}'
- * attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @param value
- * the new value of the '<em>Three Way</em>' attribute.
- * @see #isThreeWay()
- * @generated
- */
- void setThreeWay(boolean value);
-
-} // Comparison
+/** + * Copyright (c) 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; + +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.compare.utils.IEqualityHelper; +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> A representation of the model object '<em><b>Comparison</b></em>'. <!-- + * end-user-doc --> <!-- begin-model-doc --> This will act as the "root" of a comparison. It will reference + * one match for every root of the input models, along with the differences detected for each of them. <!-- + * end-model-doc --> + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.compare.Comparison#getMatchedResources <em>Matched Resources</em>}</li> + * <li>{@link org.eclipse.emf.compare.Comparison#getMatches <em>Matches</em>}</li> + * <li>{@link org.eclipse.emf.compare.Comparison#getConflicts <em>Conflicts</em>}</li> + * <li>{@link org.eclipse.emf.compare.Comparison#getEquivalences <em>Equivalences</em>}</li> + * <li>{@link org.eclipse.emf.compare.Comparison#isThreeWay <em>Three Way</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.compare.ComparePackage#getComparison() + * @model + * @generated + */ +public interface Comparison extends EObject { + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$ + + /** + * Returns the value of the '<em><b>Matched Resources</b></em>' containment reference list. The list + * contents are of type {@link org.eclipse.emf.compare.MatchResource}. <!-- begin-user-doc --> <!-- + * end-user-doc --> <!-- begin-model-doc --> This contains the mappings for each compared Resource. <!-- + * end-model-doc --> + * + * @return the value of the '<em>Matched Resources</em>' containment reference list. + * @see org.eclipse.emf.compare.ComparePackage#getComparison_MatchedResources() + * @model containment="true" + * @generated + */ + EList<MatchResource> getMatchedResources(); + + /** + * Returns the value of the '<em><b>Matches</b></em>' containment reference list. The list contents are of + * type {@link org.eclipse.emf.compare.Match}. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- + * begin-model-doc --> This contains the match tree "mimicking" the input models' hierarchy. <!-- + * end-model-doc --> + * + * @return the value of the '<em>Matches</em>' containment reference list. + * @see org.eclipse.emf.compare.ComparePackage#getComparison_Matches() + * @model containment="true" + * @generated + */ + EList<Match> getMatches(); + + /** + * Returns the value of the '<em><b>Conflicts</b></em>' containment reference list. The list contents are + * of type {@link org.eclipse.emf.compare.Conflict}. <!-- begin-user-doc --> <!-- end-user-doc --> <!-- + * begin-model-doc --> If we detected any conflict during the comparison process, this will contain them. + * <!-- end-model-doc --> + * + * @return the value of the '<em>Conflicts</em>' containment reference list. + * @see org.eclipse.emf.compare.ComparePackage#getComparison_Conflicts() + * @model containment="true" + * @generated + */ + EList<Conflict> getConflicts(); + + /** + * Returns the value of the '<em><b>Equivalences</b></em>' containment reference list. + * The list contents are of type {@link org.eclipse.emf.compare.Equivalence}. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * <!-- begin-model-doc --> + * If we detected any equivalence between diffs during the comparison process, this will contain them. + * <!-- end-model-doc --> + * @return the value of the '<em>Equivalences</em>' containment reference list. + * @see org.eclipse.emf.compare.ComparePackage#getComparison_Equivalences() + * @model containment="true" + * @generated + */ + EList<Equivalence> getEquivalences(); + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Returns all differences + * contained by this Comparison and its children. <!-- end-model-doc --> + * + * @model kind="operation" + * @generated + */ + EList<Diff> getDifferences(); + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Returns all differences that + * reference the given EObject (for instance, all ReferenceChanges that reference the given EObject + * through the "value" EReference). + * <p> + * To get differences detected on the given EObject or one of its counterpart in left, right or origin, + * you should call the following code: + * + * <pre> + * Match match = getMatch(eObject); + * if (match != null) { + * differences = match.getDifferences(); + * } + * </pre> + * + * @param element + * The EObject for which we seek all related differences. <!-- end-model-doc --> + * @model + * @generated + */ + EList<Diff> getDifferences(EObject element); + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> <!-- begin-model-doc --> Finds and return the Match for + * the given EObject. + * + * @param element + * The EObject for which we seek the match. <!-- end-model-doc --> + * @model + * @generated + */ + Match getMatch(EObject element); + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @model kind="operation" dataType="org.eclipse.emf.compare.IEqualityHelper" + * @generated + */ + IEqualityHelper getEqualityHelper(); + + /** + * Returns the value of the '<em><b>Three Way</b></em>' attribute. + * <!-- begin-user-doc --> <!-- + * end-user-doc --> + * @return the value of the '<em>Three Way</em>' attribute. + * @see #setThreeWay(boolean) + * @see org.eclipse.emf.compare.ComparePackage#getComparison_ThreeWay() + * @model + * @generated + */ + boolean isThreeWay(); + + /** + * Sets the value of the '{@link org.eclipse.emf.compare.Comparison#isThreeWay <em>Three Way</em>}' attribute. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @param value the new value of the '<em>Three Way</em>' attribute. + * @see #isThreeWay() + * @generated + */ + void setThreeWay(boolean value); + +} // Comparison diff --git a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/MatchResource.java b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/MatchResource.java index cfee0875c..44a441494 100644 --- a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/MatchResource.java +++ b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/MatchResource.java @@ -1,199 +1,228 @@ -/**
- * Copyright (c) 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;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.resource.Resource;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Match Resource</b></em>'.
- * <!-- end-user-doc -->
- *
- * <!-- begin-model-doc -->
- * A MatchResource element represents the mapping between two or three resources : left, right, and their optional common ancestor. The resource will be identified through its URI.
- * <!-- end-model-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.compare.MatchResource#getLeftURI <em>Left URI</em>}</li>
- * <li>{@link org.eclipse.emf.compare.MatchResource#getRightURI <em>Right URI</em>}</li>
- * <li>{@link org.eclipse.emf.compare.MatchResource#getOriginURI <em>Origin URI</em>}</li>
- * <li>{@link org.eclipse.emf.compare.MatchResource#getLeft <em>Left</em>}</li>
- * <li>{@link org.eclipse.emf.compare.MatchResource#getRight <em>Right</em>}</li>
- * <li>{@link org.eclipse.emf.compare.MatchResource#getOrigin <em>Origin</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.emf.compare.ComparePackage#getMatchResource()
- * @model
- * @generated
- */
-public interface MatchResource extends EObject {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$
-
- /**
- * Returns the value of the '<em><b>Left URI</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Cannot be null. Represents the URI of the left resource of this mapping.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Left URI</em>' attribute.
- * @see #setLeftURI(String)
- * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_LeftURI()
- * @model required="true"
- * @generated
- */
- String getLeftURI();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getLeftURI <em>Left URI</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Left URI</em>' attribute.
- * @see #getLeftURI()
- * @generated
- */
- void setLeftURI(String value);
-
- /**
- * Returns the value of the '<em><b>Right URI</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Cannot be null. Represents the URI of the right resource of this mapping.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Right URI</em>' attribute.
- * @see #setRightURI(String)
- * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_RightURI()
- * @model required="true"
- * @generated
- */
- String getRightURI();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getRightURI <em>Right URI</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Right URI</em>' attribute.
- * @see #getRightURI()
- * @generated
- */
- void setRightURI(String value);
-
- /**
- * Returns the value of the '<em><b>Origin URI</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * This can be null in the case of two-way comparisons. If assigned, it will represent the URI of the origin resource for this mapping; the common ancestor of both others.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Origin URI</em>' attribute.
- * @see #setOriginURI(String)
- * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_OriginURI()
- * @model
- * @generated
- */
- String getOriginURI();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getOriginURI <em>Origin URI</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Origin URI</em>' attribute.
- * @see #getOriginURI()
- * @generated
- */
- void setOriginURI(String value);
-
- /**
- * Returns the value of the '<em><b>Left</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Keeps a reference towards the left Resource of this Match. Might be null if this is a Comparison we have re-loaded from its serialized form and the left EResource could not be loaded.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Left</em>' attribute.
- * @see #setLeft(Resource)
- * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_Left()
- * @model transient="true"
- * @generated
- */
- Resource getLeft();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getLeft <em>Left</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Left</em>' attribute.
- * @see #getLeft()
- * @generated
- */
- void setLeft(Resource value);
-
- /**
- * Returns the value of the '<em><b>Right</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Keeps a reference towards the right Resource of this Match. Might be null if this is a Comparison we have re-loaded from its serialized form and the right EResource could not be loaded.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Right</em>' attribute.
- * @see #setRight(Resource)
- * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_Right()
- * @model transient="true"
- * @generated
- */
- Resource getRight();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getRight <em>Right</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Right</em>' attribute.
- * @see #getRight()
- * @generated
- */
- void setRight(Resource value);
-
- /**
- * Returns the value of the '<em><b>Origin</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * <!-- begin-model-doc -->
- * Keeps a reference towards the origin Resource of this Match. Might be null if this is a Comparison we have re-loaded from its serialized form and the origin EResource could not be loaded.
- * <!-- end-model-doc -->
- * @return the value of the '<em>Origin</em>' attribute.
- * @see #setOrigin(Resource)
- * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_Origin()
- * @model transient="true"
- * @generated
- */
- Resource getOrigin();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getOrigin <em>Origin</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Origin</em>' attribute.
- * @see #getOrigin()
- * @generated
- */
- void setOrigin(Resource value);
-
-} // MatchResource
+/** + * Copyright (c) 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; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.resource.Resource; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Match Resource</b></em>'. + * <!-- end-user-doc --> + * + * <!-- begin-model-doc --> + * A MatchResource element represents the mapping between two or three resources : left, right, and their optional common ancestor. The resource will be identified through its URI. + * <!-- end-model-doc --> + * + * <p> + * The following features are supported: + * <ul> + * <li>{@link org.eclipse.emf.compare.MatchResource#getLeftURI <em>Left URI</em>}</li> + * <li>{@link org.eclipse.emf.compare.MatchResource#getRightURI <em>Right URI</em>}</li> + * <li>{@link org.eclipse.emf.compare.MatchResource#getOriginURI <em>Origin URI</em>}</li> + * <li>{@link org.eclipse.emf.compare.MatchResource#getLeft <em>Left</em>}</li> + * <li>{@link org.eclipse.emf.compare.MatchResource#getRight <em>Right</em>}</li> + * <li>{@link org.eclipse.emf.compare.MatchResource#getOrigin <em>Origin</em>}</li> + * <li>{@link org.eclipse.emf.compare.MatchResource#getComparison <em>Comparison</em>}</li> + * </ul> + * </p> + * + * @see org.eclipse.emf.compare.ComparePackage#getMatchResource() + * @model + * @generated + */ +public interface MatchResource extends EObject { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$ + + /** + * Returns the value of the '<em><b>Left URI</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * Cannot be null. Represents the URI of the left resource of this mapping. + * <!-- end-model-doc --> + * @return the value of the '<em>Left URI</em>' attribute. + * @see #setLeftURI(String) + * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_LeftURI() + * @model required="true" + * @generated + */ + String getLeftURI(); + + /** + * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getLeftURI <em>Left URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Left URI</em>' attribute. + * @see #getLeftURI() + * @generated + */ + void setLeftURI(String value); + + /** + * Returns the value of the '<em><b>Right URI</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * Cannot be null. Represents the URI of the right resource of this mapping. + * <!-- end-model-doc --> + * @return the value of the '<em>Right URI</em>' attribute. + * @see #setRightURI(String) + * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_RightURI() + * @model required="true" + * @generated + */ + String getRightURI(); + + /** + * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getRightURI <em>Right URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Right URI</em>' attribute. + * @see #getRightURI() + * @generated + */ + void setRightURI(String value); + + /** + * Returns the value of the '<em><b>Origin URI</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * This can be null in the case of two-way comparisons. If assigned, it will represent the URI of the origin resource for this mapping; the common ancestor of both others. + * <!-- end-model-doc --> + * @return the value of the '<em>Origin URI</em>' attribute. + * @see #setOriginURI(String) + * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_OriginURI() + * @model + * @generated + */ + String getOriginURI(); + + /** + * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getOriginURI <em>Origin URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Origin URI</em>' attribute. + * @see #getOriginURI() + * @generated + */ + void setOriginURI(String value); + + /** + * Returns the value of the '<em><b>Left</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * Keeps a reference towards the left Resource of this Match. Might be null if this is a Comparison we have re-loaded from its serialized form and the left EResource could not be loaded. + * <!-- end-model-doc --> + * @return the value of the '<em>Left</em>' attribute. + * @see #setLeft(Resource) + * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_Left() + * @model transient="true" + * @generated + */ + Resource getLeft(); + + /** + * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getLeft <em>Left</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Left</em>' attribute. + * @see #getLeft() + * @generated + */ + void setLeft(Resource value); + + /** + * Returns the value of the '<em><b>Right</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * Keeps a reference towards the right Resource of this Match. Might be null if this is a Comparison we have re-loaded from its serialized form and the right EResource could not be loaded. + * <!-- end-model-doc --> + * @return the value of the '<em>Right</em>' attribute. + * @see #setRight(Resource) + * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_Right() + * @model transient="true" + * @generated + */ + Resource getRight(); + + /** + * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getRight <em>Right</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Right</em>' attribute. + * @see #getRight() + * @generated + */ + void setRight(Resource value); + + /** + * Returns the value of the '<em><b>Origin</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * <!-- begin-model-doc --> + * Keeps a reference towards the origin Resource of this Match. Might be null if this is a Comparison we have re-loaded from its serialized form and the origin EResource could not be loaded. + * <!-- end-model-doc --> + * @return the value of the '<em>Origin</em>' attribute. + * @see #setOrigin(Resource) + * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_Origin() + * @model transient="true" + * @generated + */ + Resource getOrigin(); + + /** + * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getOrigin <em>Origin</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Origin</em>' attribute. + * @see #getOrigin() + * @generated + */ + void setOrigin(Resource value); + + /** + * Returns the value of the '<em><b>Comparison</b></em>' container reference. + * It is bidirectional and its opposite is '{@link org.eclipse.emf.compare.Comparison#getMatchedResources <em>Matched Resources</em>}'. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Comparison</em>' container reference isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Comparison</em>' container reference. + * @see #setComparison(Comparison) + * @see org.eclipse.emf.compare.ComparePackage#getMatchResource_Comparison() + * @see org.eclipse.emf.compare.Comparison#getMatchedResources + * @model opposite="matchedResources" transient="false" + * @generated + */ + Comparison getComparison(); + + /** + * Sets the value of the '{@link org.eclipse.emf.compare.MatchResource#getComparison <em>Comparison</em>}' container reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Comparison</em>' container reference. + * @see #getComparison() + * @generated + */ + void setComparison(Comparison value); + +} // MatchResource diff --git a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/ComparePackageImpl.java b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/ComparePackageImpl.java index b0fcbd36e..e8715ef14 100644 --- a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/ComparePackageImpl.java +++ b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/ComparePackageImpl.java @@ -1,1045 +1,987 @@ -/**
- * Copyright (c) 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.impl;
-
-import org.eclipse.emf.compare.AttributeChange;
-import org.eclipse.emf.compare.CompareFactory;
-import org.eclipse.emf.compare.ComparePackage;
-import org.eclipse.emf.compare.Comparison;
-import org.eclipse.emf.compare.Conflict;
-import org.eclipse.emf.compare.ConflictKind;
-import org.eclipse.emf.compare.Diff;
-import org.eclipse.emf.compare.DifferenceKind;
-import org.eclipse.emf.compare.DifferenceSource;
-import org.eclipse.emf.compare.DifferenceState;
-import org.eclipse.emf.compare.Equivalence;
-import org.eclipse.emf.compare.Match;
-import org.eclipse.emf.compare.MatchResource;
-import org.eclipse.emf.compare.ReferenceChange;
-import org.eclipse.emf.compare.ResourceAttachmentChange;
-import org.eclipse.emf.compare.utils.IEqualityHelper;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EGenericType;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-/**
- * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
- *
- * @generated
- */
-public class ComparePackageImpl extends EPackageImpl implements ComparePackage {
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public static final String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass comparisonEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass matchResourceEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass matchEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass diffEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass resourceAttachmentChangeEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass referenceChangeEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass attributeChangeEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass conflictEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EClass equivalenceEClass = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EEnum differenceKindEEnum = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EEnum differenceSourceEEnum = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EEnum differenceStateEEnum = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EEnum conflictKindEEnum = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EDataType eIterableEDataType = null;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private EDataType iEqualityHelperEDataType = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package package URI value.
- * <p>
- * Note: the correct way to create the package is via the static factory method {@link #init init()},
- * which also performs initialization of the package, or returns the registered package, if one already
- * exists. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.emf.compare.ComparePackage#eNS_URI
- * @see #init()
- * @generated
- */
- private ComparePackageImpl() {
- super(eNS_URI, CompareFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it
- * depends.
- * <p>
- * This method is used to initialize {@link ComparePackage#eINSTANCE} when that field is accessed. Clients
- * should not invoke it directly. Instead, they should simply access that field to obtain the package.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static ComparePackage init() {
- if (isInited) {
- return (ComparePackage)EPackage.Registry.INSTANCE.getEPackage(ComparePackage.eNS_URI);
- }
-
- // Obtain or create and register package
- ComparePackageImpl theComparePackage = (ComparePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ComparePackageImpl ? EPackage.Registry.INSTANCE
- .get(eNS_URI)
- : new ComparePackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- EcorePackage.eINSTANCE.eClass();
-
- // Create package meta-data objects
- theComparePackage.createPackageContents();
-
- // Initialize created meta-data
- theComparePackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theComparePackage.freeze();
-
- // Update the registry and return the package
- EPackage.Registry.INSTANCE.put(ComparePackage.eNS_URI, theComparePackage);
- return theComparePackage;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EClass getComparison() {
- return comparisonEClass;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getComparison_MatchedResources() {
- return (EReference)comparisonEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getComparison_Matches() {
- return (EReference)comparisonEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getComparison_Conflicts() {
- return (EReference)comparisonEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getComparison_Equivalences() {
- return (EReference)comparisonEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getComparison_ThreeWay() {
- return (EAttribute)comparisonEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EClass getMatchResource() {
- return matchResourceEClass;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getMatchResource_LeftURI() {
- return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getMatchResource_RightURI() {
- return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getMatchResource_OriginURI() {
- return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getMatchResource_Left() {
- return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getMatchResource_Right() {
- return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getMatchResource_Origin() {
- return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EClass getMatch() {
- return matchEClass;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getMatch_Submatches() {
- return (EReference)matchEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getMatch_Differences() {
- return (EReference)matchEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getMatch_Left() {
- return (EReference)matchEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getMatch_Right() {
- return (EReference)matchEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getMatch_Origin() {
- return (EReference)matchEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EClass getDiff() {
- return diffEClass;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getDiff_Match() {
- return (EReference)diffEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getDiff_Requires() {
- return (EReference)diffEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getDiff_RequiredBy() {
- return (EReference)diffEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getDiff_Refines() {
- return (EReference)diffEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getDiff_RefinedBy() {
- return (EReference)diffEClass.getEStructuralFeatures().get(4);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getDiff_Kind() {
- return (EAttribute)diffEClass.getEStructuralFeatures().get(5);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getDiff_Source() {
- return (EAttribute)diffEClass.getEStructuralFeatures().get(6);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getDiff_State() {
- return (EAttribute)diffEClass.getEStructuralFeatures().get(7);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getDiff_Equivalence() {
- return (EReference)diffEClass.getEStructuralFeatures().get(8);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getDiff_Conflict() {
- return (EReference)diffEClass.getEStructuralFeatures().get(9);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EClass getResourceAttachmentChange() {
- return resourceAttachmentChangeEClass;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getResourceAttachmentChange_ResourceURI() {
- return (EAttribute)resourceAttachmentChangeEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EClass getReferenceChange() {
- return referenceChangeEClass;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getReferenceChange_Reference() {
- return (EReference)referenceChangeEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getReferenceChange_Value() {
- return (EReference)referenceChangeEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EClass getAttributeChange() {
- return attributeChangeEClass;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getAttributeChange_Attribute() {
- return (EReference)attributeChangeEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getAttributeChange_Value() {
- return (EAttribute)attributeChangeEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EClass getConflict() {
- return conflictEClass;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EAttribute getConflict_Kind() {
- return (EAttribute)conflictEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getConflict_Differences() {
- return (EReference)conflictEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EClass getEquivalence() {
- return equivalenceEClass;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EReference getEquivalence_Differences() {
- return (EReference)equivalenceEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EEnum getDifferenceKind() {
- return differenceKindEEnum;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EEnum getDifferenceSource() {
- return differenceSourceEEnum;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EEnum getDifferenceState() {
- return differenceStateEEnum;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EEnum getConflictKind() {
- return conflictKindEEnum;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EDataType getEIterable() {
- return eIterableEDataType;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EDataType getIEqualityHelper() {
- return iEqualityHelperEDataType;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public CompareFactory getCompareFactory() {
- return (CompareFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is guarded to have no affect on any
- * invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) {
- return;
- }
- isCreated = true;
-
- // Create classes and their features
- comparisonEClass = createEClass(COMPARISON);
- createEReference(comparisonEClass, COMPARISON__MATCHED_RESOURCES);
- createEReference(comparisonEClass, COMPARISON__MATCHES);
- createEReference(comparisonEClass, COMPARISON__CONFLICTS);
- createEReference(comparisonEClass, COMPARISON__EQUIVALENCES);
- createEAttribute(comparisonEClass, COMPARISON__THREE_WAY);
-
- matchResourceEClass = createEClass(MATCH_RESOURCE);
- createEAttribute(matchResourceEClass, MATCH_RESOURCE__LEFT_URI);
- createEAttribute(matchResourceEClass, MATCH_RESOURCE__RIGHT_URI);
- createEAttribute(matchResourceEClass, MATCH_RESOURCE__ORIGIN_URI);
- createEAttribute(matchResourceEClass, MATCH_RESOURCE__LEFT);
- createEAttribute(matchResourceEClass, MATCH_RESOURCE__RIGHT);
- createEAttribute(matchResourceEClass, MATCH_RESOURCE__ORIGIN);
-
- matchEClass = createEClass(MATCH);
- createEReference(matchEClass, MATCH__SUBMATCHES);
- createEReference(matchEClass, MATCH__DIFFERENCES);
- createEReference(matchEClass, MATCH__LEFT);
- createEReference(matchEClass, MATCH__RIGHT);
- createEReference(matchEClass, MATCH__ORIGIN);
-
- diffEClass = createEClass(DIFF);
- createEReference(diffEClass, DIFF__MATCH);
- createEReference(diffEClass, DIFF__REQUIRES);
- createEReference(diffEClass, DIFF__REQUIRED_BY);
- createEReference(diffEClass, DIFF__REFINES);
- createEReference(diffEClass, DIFF__REFINED_BY);
- createEAttribute(diffEClass, DIFF__KIND);
- createEAttribute(diffEClass, DIFF__SOURCE);
- createEAttribute(diffEClass, DIFF__STATE);
- createEReference(diffEClass, DIFF__EQUIVALENCE);
- createEReference(diffEClass, DIFF__CONFLICT);
-
- resourceAttachmentChangeEClass = createEClass(RESOURCE_ATTACHMENT_CHANGE);
- createEAttribute(resourceAttachmentChangeEClass, RESOURCE_ATTACHMENT_CHANGE__RESOURCE_URI);
-
- referenceChangeEClass = createEClass(REFERENCE_CHANGE);
- createEReference(referenceChangeEClass, REFERENCE_CHANGE__REFERENCE);
- createEReference(referenceChangeEClass, REFERENCE_CHANGE__VALUE);
-
- attributeChangeEClass = createEClass(ATTRIBUTE_CHANGE);
- createEReference(attributeChangeEClass, ATTRIBUTE_CHANGE__ATTRIBUTE);
- createEAttribute(attributeChangeEClass, ATTRIBUTE_CHANGE__VALUE);
-
- conflictEClass = createEClass(CONFLICT);
- createEAttribute(conflictEClass, CONFLICT__KIND);
- createEReference(conflictEClass, CONFLICT__DIFFERENCES);
-
- equivalenceEClass = createEClass(EQUIVALENCE);
- createEReference(equivalenceEClass, EQUIVALENCE__DIFFERENCES);
-
- // Create enums
- differenceKindEEnum = createEEnum(DIFFERENCE_KIND);
- differenceSourceEEnum = createEEnum(DIFFERENCE_SOURCE);
- differenceStateEEnum = createEEnum(DIFFERENCE_STATE);
- conflictKindEEnum = createEEnum(CONFLICT_KIND);
-
- // Create data types
- eIterableEDataType = createEDataType(EITERABLE);
- iEqualityHelperEDataType = createEDataType(IEQUALITY_HELPER);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This method is guarded to have no affect
- * on any invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) {
- return;
- }
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE
- .getEPackage(EcorePackage.eNS_URI);
-
- // Create type parameters
- addETypeParameter(eIterableEDataType, "T"); //$NON-NLS-1$
-
- // Set bounds for type parameters
-
- // Add supertypes to classes
- resourceAttachmentChangeEClass.getESuperTypes().add(this.getDiff());
- referenceChangeEClass.getESuperTypes().add(this.getDiff());
- attributeChangeEClass.getESuperTypes().add(this.getDiff());
-
- // Initialize classes and features; add operations and parameters
- initEClass(comparisonEClass, Comparison.class,
- "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(
- getComparison_MatchedResources(),
- this.getMatchResource(),
- null,
- "matchedResources", null, 0, -1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getComparison_Matches(),
- this.getMatch(),
- null,
- "matches", null, 0, -1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getComparison_Conflicts(),
- this.getConflict(),
- null,
- "conflicts", null, 0, -1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getComparison_Equivalences(),
- this.getEquivalence(),
- null,
- "equivalences", null, 0, -1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getComparison_ThreeWay(),
- ecorePackage.getEBoolean(),
- "threeWay", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(comparisonEClass, this.getDiff(), "getDifferences", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- EOperation op = addEOperation(comparisonEClass, this.getDiff(),
- "getDifferences", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
- addEParameter(op, theEcorePackage.getEObject(), "element", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- op = addEOperation(comparisonEClass, this.getMatch(), "getMatch", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
- addEParameter(op, theEcorePackage.getEObject(), "element", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(comparisonEClass, this.getIEqualityHelper(),
- "getEqualityHelper", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(matchResourceEClass, MatchResource.class,
- "MatchResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(
- getMatchResource_LeftURI(),
- ecorePackage.getEString(),
- "leftURI", null, 1, 1, MatchResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getMatchResource_RightURI(),
- ecorePackage.getEString(),
- "rightURI", null, 1, 1, MatchResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getMatchResource_OriginURI(),
- ecorePackage.getEString(),
- "originURI", null, 0, 1, MatchResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getMatchResource_Left(),
- theEcorePackage.getEResource(),
- "left", null, 0, 1, MatchResource.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getMatchResource_Right(),
- theEcorePackage.getEResource(),
- "right", null, 0, 1, MatchResource.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getMatchResource_Origin(),
- theEcorePackage.getEResource(),
- "origin", null, 0, 1, MatchResource.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(matchEClass, Match.class,
- "Match", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(
- getMatch_Submatches(),
- this.getMatch(),
- null,
- "submatches", null, 0, -1, Match.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getMatch_Differences(),
- this.getDiff(),
- this.getDiff_Match(),
- "differences", null, 0, -1, Match.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getMatch_Left(),
- ecorePackage.getEObject(),
- null,
- "left", null, 0, 1, Match.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getMatch_Right(),
- ecorePackage.getEObject(),
- null,
- "right", null, 0, 1, Match.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getMatch_Origin(),
- ecorePackage.getEObject(),
- null,
- "origin", null, 0, 1, Match.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(matchEClass, this.getComparison(), "getComparison", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- op = addEOperation(matchEClass, null, "getAllSubmatches", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
- EGenericType g1 = createEGenericType(this.getEIterable());
- EGenericType g2 = createEGenericType(this.getMatch());
- g1.getETypeArguments().add(g2);
- initEOperation(op, g1);
-
- op = addEOperation(matchEClass, null, "getAllDifferences", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
- g1 = createEGenericType(this.getEIterable());
- g2 = createEGenericType(this.getDiff());
- g1.getETypeArguments().add(g2);
- initEOperation(op, g1);
-
- initEClass(diffEClass, Diff.class, "Diff", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(
- getDiff_Match(),
- this.getMatch(),
- this.getMatch_Differences(),
- "match", null, 1, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getDiff_Requires(),
- this.getDiff(),
- this.getDiff_RequiredBy(),
- "requires", null, 0, -1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getDiff_RequiredBy(),
- this.getDiff(),
- this.getDiff_Requires(),
- "requiredBy", null, 0, -1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getDiff_Refines(),
- this.getDiff(),
- this.getDiff_RefinedBy(),
- "refines", null, 0, -1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getDiff_RefinedBy(),
- this.getDiff(),
- this.getDiff_Refines(),
- "refinedBy", null, 0, -1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getDiff_Kind(),
- this.getDifferenceKind(),
- "kind", null, 1, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getDiff_Source(),
- this.getDifferenceSource(),
- "source", null, 1, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getDiff_State(),
- this.getDifferenceState(),
- "state", null, 1, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getDiff_Equivalence(),
- this.getEquivalence(),
- this.getEquivalence_Differences(),
- "equivalence", null, 0, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getDiff_Conflict(),
- this.getConflict(),
- this.getConflict_Differences(),
- "conflict", null, 0, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(diffEClass, null, "copyRightToLeft", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(diffEClass, null, "copyLeftToRight", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(diffEClass, null, "discard", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(resourceAttachmentChangeEClass, ResourceAttachmentChange.class,
- "ResourceAttachmentChange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(
- getResourceAttachmentChange_ResourceURI(),
- ecorePackage.getEString(),
- "resourceURI", null, 1, 1, ResourceAttachmentChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(referenceChangeEClass, ReferenceChange.class,
- "ReferenceChange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(
- getReferenceChange_Reference(),
- theEcorePackage.getEReference(),
- null,
- "reference", null, 1, 1, ReferenceChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getReferenceChange_Value(),
- theEcorePackage.getEObject(),
- null,
- "value", null, 0, 1, ReferenceChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(attributeChangeEClass, AttributeChange.class,
- "AttributeChange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(
- getAttributeChange_Attribute(),
- theEcorePackage.getEAttribute(),
- null,
- "attribute", null, 1, 1, AttributeChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(
- getAttributeChange_Value(),
- theEcorePackage.getEJavaObject(),
- "value", null, 0, 1, AttributeChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(conflictEClass, Conflict.class,
- "Conflict", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEAttribute(
- getConflict_Kind(),
- this.getConflictKind(),
- "kind", null, 1, 1, Conflict.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(
- getConflict_Differences(),
- this.getDiff(),
- this.getDiff_Conflict(),
- "differences", null, 2, -1, Conflict.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(conflictEClass, this.getDiff(), "getLeftDifferences", 1, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(conflictEClass, this.getDiff(), "getRightDifferences", 1, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(equivalenceEClass, Equivalence.class,
- "Equivalence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(
- getEquivalence_Differences(),
- this.getDiff(),
- this.getDiff_Equivalence(),
- "differences", null, 2, -1, Equivalence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- // Initialize enums and add enum literals
- initEEnum(differenceKindEEnum, DifferenceKind.class, "DifferenceKind"); //$NON-NLS-1$
- addEEnumLiteral(differenceKindEEnum, DifferenceKind.ADD);
- addEEnumLiteral(differenceKindEEnum, DifferenceKind.DELETE);
- addEEnumLiteral(differenceKindEEnum, DifferenceKind.CHANGE);
- addEEnumLiteral(differenceKindEEnum, DifferenceKind.MOVE);
-
- initEEnum(differenceSourceEEnum, DifferenceSource.class, "DifferenceSource"); //$NON-NLS-1$
- addEEnumLiteral(differenceSourceEEnum, DifferenceSource.LEFT);
- addEEnumLiteral(differenceSourceEEnum, DifferenceSource.RIGHT);
-
- initEEnum(differenceStateEEnum, DifferenceState.class, "DifferenceState"); //$NON-NLS-1$
- addEEnumLiteral(differenceStateEEnum, DifferenceState.UNRESOLVED);
- addEEnumLiteral(differenceStateEEnum, DifferenceState.MERGED);
- addEEnumLiteral(differenceStateEEnum, DifferenceState.DISCARDED);
-
- initEEnum(conflictKindEEnum, ConflictKind.class, "ConflictKind"); //$NON-NLS-1$
- addEEnumLiteral(conflictKindEEnum, ConflictKind.REAL);
- addEEnumLiteral(conflictKindEEnum, ConflictKind.PSEUDO);
-
- // Initialize data types
- initEDataType(eIterableEDataType, Iterable.class,
- "EIterable", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEDataType(iEqualityHelperEDataType, IEqualityHelper.class,
- "IEqualityHelper", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
- // Create resource
- createResource(eNS_URI);
- }
-
-} // ComparePackageImpl
+/** + * Copyright (c) 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.impl; + +import java.lang.Iterable; +import org.eclipse.emf.compare.AttributeChange; +import org.eclipse.emf.compare.CompareFactory; +import org.eclipse.emf.compare.ComparePackage; +import org.eclipse.emf.compare.Comparison; +import org.eclipse.emf.compare.Conflict; +import org.eclipse.emf.compare.ConflictKind; +import org.eclipse.emf.compare.Diff; +import org.eclipse.emf.compare.DifferenceKind; +import org.eclipse.emf.compare.DifferenceSource; +import org.eclipse.emf.compare.DifferenceState; +import org.eclipse.emf.compare.Equivalence; +import org.eclipse.emf.compare.Match; +import org.eclipse.emf.compare.MatchResource; +import org.eclipse.emf.compare.ReferenceChange; +import org.eclipse.emf.compare.ResourceAttachmentChange; +import org.eclipse.emf.compare.utils.IEqualityHelper; +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EDataType; +import org.eclipse.emf.ecore.EEnum; +import org.eclipse.emf.ecore.EGenericType; +import org.eclipse.emf.ecore.EOperation; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.EcorePackage; +import org.eclipse.emf.ecore.impl.EPackageImpl; + +/** + * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc --> + * @generated + */ +public class ComparePackageImpl extends EPackageImpl implements ComparePackage { + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public static final String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$ + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass comparisonEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass matchResourceEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass matchEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass diffEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass resourceAttachmentChangeEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass referenceChangeEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass attributeChangeEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass conflictEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EClass equivalenceEClass = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EEnum differenceKindEEnum = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EEnum differenceSourceEEnum = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EEnum differenceStateEEnum = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EEnum conflictKindEEnum = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EDataType eIterableEDataType = null; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private EDataType iEqualityHelperEDataType = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see org.eclipse.emf.compare.ComparePackage#eNS_URI + * @see #init() + * @generated + */ + private ComparePackageImpl() { + super(eNS_URI, CompareFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link ComparePackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static ComparePackage init() { + if (isInited) + return (ComparePackage)EPackage.Registry.INSTANCE.getEPackage(ComparePackage.eNS_URI); + + // Obtain or create and register package + ComparePackageImpl theComparePackage = (ComparePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof ComparePackageImpl ? EPackage.Registry.INSTANCE + .get(eNS_URI) + : new ComparePackageImpl()); + + isInited = true; + + // Initialize simple dependencies + EcorePackage.eINSTANCE.eClass(); + + // Create package meta-data objects + theComparePackage.createPackageContents(); + + // Initialize created meta-data + theComparePackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theComparePackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(ComparePackage.eNS_URI, theComparePackage); + return theComparePackage; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getComparison() { + return comparisonEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getComparison_MatchedResources() { + return (EReference)comparisonEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getComparison_Matches() { + return (EReference)comparisonEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getComparison_Conflicts() { + return (EReference)comparisonEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getComparison_Equivalences() { + return (EReference)comparisonEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getComparison_ThreeWay() { + return (EAttribute)comparisonEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getMatchResource() { + return matchResourceEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getMatchResource_LeftURI() { + return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getMatchResource_RightURI() { + return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getMatchResource_OriginURI() { + return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getMatchResource_Left() { + return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getMatchResource_Right() { + return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getMatchResource_Origin() { + return (EAttribute)matchResourceEClass.getEStructuralFeatures().get(5); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public EReference getMatchResource_Comparison() { + return (EReference)matchResourceEClass.getEStructuralFeatures().get(6); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getMatch() { + return matchEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getMatch_Submatches() { + return (EReference)matchEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getMatch_Differences() { + return (EReference)matchEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getMatch_Left() { + return (EReference)matchEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getMatch_Right() { + return (EReference)matchEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getMatch_Origin() { + return (EReference)matchEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getDiff() { + return diffEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getDiff_Match() { + return (EReference)diffEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getDiff_Requires() { + return (EReference)diffEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getDiff_RequiredBy() { + return (EReference)diffEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getDiff_Refines() { + return (EReference)diffEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getDiff_RefinedBy() { + return (EReference)diffEClass.getEStructuralFeatures().get(4); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getDiff_Kind() { + return (EAttribute)diffEClass.getEStructuralFeatures().get(5); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getDiff_Source() { + return (EAttribute)diffEClass.getEStructuralFeatures().get(6); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getDiff_State() { + return (EAttribute)diffEClass.getEStructuralFeatures().get(7); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getDiff_Equivalence() { + return (EReference)diffEClass.getEStructuralFeatures().get(8); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getDiff_Conflict() { + return (EReference)diffEClass.getEStructuralFeatures().get(9); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getResourceAttachmentChange() { + return resourceAttachmentChangeEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getResourceAttachmentChange_ResourceURI() { + return (EAttribute)resourceAttachmentChangeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getReferenceChange() { + return referenceChangeEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getReferenceChange_Reference() { + return (EReference)referenceChangeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getReferenceChange_Value() { + return (EReference)referenceChangeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getAttributeChange() { + return attributeChangeEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getAttributeChange_Attribute() { + return (EReference)attributeChangeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getAttributeChange_Value() { + return (EAttribute)attributeChangeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getConflict() { + return conflictEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EAttribute getConflict_Kind() { + return (EAttribute)conflictEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getConflict_Differences() { + return (EReference)conflictEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EClass getEquivalence() { + return equivalenceEClass; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EReference getEquivalence_Differences() { + return (EReference)equivalenceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EEnum getDifferenceKind() { + return differenceKindEEnum; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EEnum getDifferenceSource() { + return differenceSourceEEnum; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EEnum getDifferenceState() { + return differenceStateEEnum; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EEnum getConflictKind() { + return conflictKindEEnum; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EDataType getEIterable() { + return eIterableEDataType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EDataType getIEqualityHelper() { + return iEqualityHelperEDataType; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public CompareFactory getCompareFactory() { + return (CompareFactory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() { + if (isCreated) + return; + isCreated = true; + + // Create classes and their features + comparisonEClass = createEClass(COMPARISON); + createEReference(comparisonEClass, COMPARISON__MATCHED_RESOURCES); + createEReference(comparisonEClass, COMPARISON__MATCHES); + createEReference(comparisonEClass, COMPARISON__CONFLICTS); + createEReference(comparisonEClass, COMPARISON__EQUIVALENCES); + createEAttribute(comparisonEClass, COMPARISON__THREE_WAY); + + matchResourceEClass = createEClass(MATCH_RESOURCE); + createEAttribute(matchResourceEClass, MATCH_RESOURCE__LEFT_URI); + createEAttribute(matchResourceEClass, MATCH_RESOURCE__RIGHT_URI); + createEAttribute(matchResourceEClass, MATCH_RESOURCE__ORIGIN_URI); + createEAttribute(matchResourceEClass, MATCH_RESOURCE__LEFT); + createEAttribute(matchResourceEClass, MATCH_RESOURCE__RIGHT); + createEAttribute(matchResourceEClass, MATCH_RESOURCE__ORIGIN); + createEReference(matchResourceEClass, MATCH_RESOURCE__COMPARISON); + + matchEClass = createEClass(MATCH); + createEReference(matchEClass, MATCH__SUBMATCHES); + createEReference(matchEClass, MATCH__DIFFERENCES); + createEReference(matchEClass, MATCH__LEFT); + createEReference(matchEClass, MATCH__RIGHT); + createEReference(matchEClass, MATCH__ORIGIN); + + diffEClass = createEClass(DIFF); + createEReference(diffEClass, DIFF__MATCH); + createEReference(diffEClass, DIFF__REQUIRES); + createEReference(diffEClass, DIFF__REQUIRED_BY); + createEReference(diffEClass, DIFF__REFINES); + createEReference(diffEClass, DIFF__REFINED_BY); + createEAttribute(diffEClass, DIFF__KIND); + createEAttribute(diffEClass, DIFF__SOURCE); + createEAttribute(diffEClass, DIFF__STATE); + createEReference(diffEClass, DIFF__EQUIVALENCE); + createEReference(diffEClass, DIFF__CONFLICT); + + resourceAttachmentChangeEClass = createEClass(RESOURCE_ATTACHMENT_CHANGE); + createEAttribute(resourceAttachmentChangeEClass, RESOURCE_ATTACHMENT_CHANGE__RESOURCE_URI); + + referenceChangeEClass = createEClass(REFERENCE_CHANGE); + createEReference(referenceChangeEClass, REFERENCE_CHANGE__REFERENCE); + createEReference(referenceChangeEClass, REFERENCE_CHANGE__VALUE); + + attributeChangeEClass = createEClass(ATTRIBUTE_CHANGE); + createEReference(attributeChangeEClass, ATTRIBUTE_CHANGE__ATTRIBUTE); + createEAttribute(attributeChangeEClass, ATTRIBUTE_CHANGE__VALUE); + + conflictEClass = createEClass(CONFLICT); + createEAttribute(conflictEClass, CONFLICT__KIND); + createEReference(conflictEClass, CONFLICT__DIFFERENCES); + + equivalenceEClass = createEClass(EQUIVALENCE); + createEReference(equivalenceEClass, EQUIVALENCE__DIFFERENCES); + + // Create enums + differenceKindEEnum = createEEnum(DIFFERENCE_KIND); + differenceSourceEEnum = createEEnum(DIFFERENCE_SOURCE); + differenceStateEEnum = createEEnum(DIFFERENCE_STATE); + conflictKindEEnum = createEEnum(CONFLICT_KIND); + + // Create data types + eIterableEDataType = createEDataType(EITERABLE); + iEqualityHelperEDataType = createEDataType(IEQUALITY_HELPER); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() { + if (isInitialized) + return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE + .getEPackage(EcorePackage.eNS_URI); + + // Create type parameters + addETypeParameter(eIterableEDataType, "T"); //$NON-NLS-1$ + + // Set bounds for type parameters + + // Add supertypes to classes + resourceAttachmentChangeEClass.getESuperTypes().add(this.getDiff()); + referenceChangeEClass.getESuperTypes().add(this.getDiff()); + attributeChangeEClass.getESuperTypes().add(this.getDiff()); + + // Initialize classes and features; add operations and parameters + initEClass(comparisonEClass, Comparison.class, + "Comparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ + initEReference( + getComparison_MatchedResources(), + this.getMatchResource(), + this.getMatchResource_Comparison(), + "matchedResources", null, 0, -1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getComparison_Matches(), + this.getMatch(), + null, + "matches", null, 0, -1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getComparison_Conflicts(), + this.getConflict(), + null, + "conflicts", null, 0, -1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getComparison_Equivalences(), + this.getEquivalence(), + null, + "equivalences", null, 0, -1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEAttribute( + getComparison_ThreeWay(), + ecorePackage.getEBoolean(), + "threeWay", null, 0, 1, Comparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + + addEOperation(comparisonEClass, this.getDiff(), "getDifferences", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + + EOperation op = addEOperation(comparisonEClass, this.getDiff(), + "getDifferences", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + addEParameter(op, theEcorePackage.getEObject(), "element", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + + op = addEOperation(comparisonEClass, this.getMatch(), "getMatch", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + addEParameter(op, theEcorePackage.getEObject(), "element", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + + addEOperation(comparisonEClass, this.getIEqualityHelper(), + "getEqualityHelper", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + + initEClass(matchResourceEClass, MatchResource.class, + "MatchResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ + initEAttribute( + getMatchResource_LeftURI(), + ecorePackage.getEString(), + "leftURI", null, 1, 1, MatchResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEAttribute( + getMatchResource_RightURI(), + ecorePackage.getEString(), + "rightURI", null, 1, 1, MatchResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEAttribute( + getMatchResource_OriginURI(), + ecorePackage.getEString(), + "originURI", null, 0, 1, MatchResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEAttribute( + getMatchResource_Left(), + theEcorePackage.getEResource(), + "left", null, 0, 1, MatchResource.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEAttribute( + getMatchResource_Right(), + theEcorePackage.getEResource(), + "right", null, 0, 1, MatchResource.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEAttribute( + getMatchResource_Origin(), + theEcorePackage.getEResource(), + "origin", null, 0, 1, MatchResource.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getMatchResource_Comparison(), + this.getComparison(), + this.getComparison_MatchedResources(), + "comparison", null, 0, 1, MatchResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + + initEClass(matchEClass, Match.class, + "Match", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ + initEReference( + getMatch_Submatches(), + this.getMatch(), + null, + "submatches", null, 0, -1, Match.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getMatch_Differences(), + this.getDiff(), + this.getDiff_Match(), + "differences", null, 0, -1, Match.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getMatch_Left(), + ecorePackage.getEObject(), + null, + "left", null, 0, 1, Match.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getMatch_Right(), + ecorePackage.getEObject(), + null, + "right", null, 0, 1, Match.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getMatch_Origin(), + ecorePackage.getEObject(), + null, + "origin", null, 0, 1, Match.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + + addEOperation(matchEClass, this.getComparison(), "getComparison", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + + op = addEOperation(matchEClass, null, "getAllSubmatches", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + EGenericType g1 = createEGenericType(this.getEIterable()); + EGenericType g2 = createEGenericType(this.getMatch()); + g1.getETypeArguments().add(g2); + initEOperation(op, g1); + + op = addEOperation(matchEClass, null, "getAllDifferences", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + g1 = createEGenericType(this.getEIterable()); + g2 = createEGenericType(this.getDiff()); + g1.getETypeArguments().add(g2); + initEOperation(op, g1); + + initEClass(diffEClass, Diff.class, "Diff", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ + initEReference( + getDiff_Match(), + this.getMatch(), + this.getMatch_Differences(), + "match", null, 1, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getDiff_Requires(), + this.getDiff(), + this.getDiff_RequiredBy(), + "requires", null, 0, -1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getDiff_RequiredBy(), + this.getDiff(), + this.getDiff_Requires(), + "requiredBy", null, 0, -1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getDiff_Refines(), + this.getDiff(), + this.getDiff_RefinedBy(), + "refines", null, 0, -1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getDiff_RefinedBy(), + this.getDiff(), + this.getDiff_Refines(), + "refinedBy", null, 0, -1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEAttribute( + getDiff_Kind(), + this.getDifferenceKind(), + "kind", null, 1, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEAttribute( + getDiff_Source(), + this.getDifferenceSource(), + "source", null, 1, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEAttribute( + getDiff_State(), + this.getDifferenceState(), + "state", null, 1, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getDiff_Equivalence(), + this.getEquivalence(), + this.getEquivalence_Differences(), + "equivalence", null, 0, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getDiff_Conflict(), + this.getConflict(), + this.getConflict_Differences(), + "conflict", null, 0, 1, Diff.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + + addEOperation(diffEClass, null, "copyRightToLeft", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + + addEOperation(diffEClass, null, "copyLeftToRight", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + + addEOperation(diffEClass, null, "discard", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + + initEClass(resourceAttachmentChangeEClass, ResourceAttachmentChange.class, + "ResourceAttachmentChange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ + initEAttribute( + getResourceAttachmentChange_ResourceURI(), + ecorePackage.getEString(), + "resourceURI", null, 1, 1, ResourceAttachmentChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + + initEClass(referenceChangeEClass, ReferenceChange.class, + "ReferenceChange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ + initEReference( + getReferenceChange_Reference(), + theEcorePackage.getEReference(), + null, + "reference", null, 1, 1, ReferenceChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getReferenceChange_Value(), + theEcorePackage.getEObject(), + null, + "value", null, 0, 1, ReferenceChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + + initEClass(attributeChangeEClass, AttributeChange.class, + "AttributeChange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ + initEReference( + getAttributeChange_Attribute(), + theEcorePackage.getEAttribute(), + null, + "attribute", null, 1, 1, AttributeChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEAttribute( + getAttributeChange_Value(), + theEcorePackage.getEJavaObject(), + "value", null, 0, 1, AttributeChange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + + initEClass(conflictEClass, Conflict.class, + "Conflict", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ + initEAttribute( + getConflict_Kind(), + this.getConflictKind(), + "kind", null, 1, 1, Conflict.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( + getConflict_Differences(), + this.getDiff(), + this.getDiff_Conflict(), + "differences", null, 2, -1, Conflict.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + + addEOperation(conflictEClass, this.getDiff(), "getLeftDifferences", 1, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + + addEOperation(conflictEClass, this.getDiff(), "getRightDifferences", 1, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$ + + initEClass(equivalenceEClass, Equivalence.class, + "Equivalence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ + initEReference( + getEquivalence_Differences(), + this.getDiff(), + this.getDiff_Equivalence(), + "differences", null, 2, -1, Equivalence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + + // Initialize enums and add enum literals + initEEnum(differenceKindEEnum, DifferenceKind.class, "DifferenceKind"); //$NON-NLS-1$ + addEEnumLiteral(differenceKindEEnum, DifferenceKind.ADD); + addEEnumLiteral(differenceKindEEnum, DifferenceKind.DELETE); + addEEnumLiteral(differenceKindEEnum, DifferenceKind.CHANGE); + addEEnumLiteral(differenceKindEEnum, DifferenceKind.MOVE); + + initEEnum(differenceSourceEEnum, DifferenceSource.class, "DifferenceSource"); //$NON-NLS-1$ + addEEnumLiteral(differenceSourceEEnum, DifferenceSource.LEFT); + addEEnumLiteral(differenceSourceEEnum, DifferenceSource.RIGHT); + + initEEnum(differenceStateEEnum, DifferenceState.class, "DifferenceState"); //$NON-NLS-1$ + addEEnumLiteral(differenceStateEEnum, DifferenceState.UNRESOLVED); + addEEnumLiteral(differenceStateEEnum, DifferenceState.MERGED); + addEEnumLiteral(differenceStateEEnum, DifferenceState.DISCARDED); + + initEEnum(conflictKindEEnum, ConflictKind.class, "ConflictKind"); //$NON-NLS-1$ + addEEnumLiteral(conflictKindEEnum, ConflictKind.REAL); + addEEnumLiteral(conflictKindEEnum, ConflictKind.PSEUDO); + + // Initialize data types + initEDataType(eIterableEDataType, Iterable.class, + "EIterable", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ + initEDataType(iEqualityHelperEDataType, IEqualityHelper.class, + "IEqualityHelper", !IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$ + + // Create resource + createResource(eNS_URI); + } + +} // ComparePackageImpl diff --git a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/ComparisonImpl.java b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/ComparisonImpl.java index 327bc816a..c9a8783b9 100644 --- a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/ComparisonImpl.java +++ b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/ComparisonImpl.java @@ -1,398 +1,393 @@ -/**
- * Copyright (c) 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.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.ComparePackage;
-import org.eclipse.emf.compare.Comparison;
-import org.eclipse.emf.compare.Conflict;
-import org.eclipse.emf.compare.Diff;
-import org.eclipse.emf.compare.Equivalence;
-import org.eclipse.emf.compare.Match;
-import org.eclipse.emf.compare.MatchResource;
-import org.eclipse.emf.compare.utils.IEqualityHelper;
-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.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-/**
- * <!-- begin-user-doc --> An implementation of the model object '<em><b>Comparison</b></em>'. <!--
- * end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.emf.compare.impl.ComparisonImpl#getMatchedResources <em>Matched Resources</em>}</li>
- * <li>{@link org.eclipse.emf.compare.impl.ComparisonImpl#getMatches <em>Matches</em>}</li>
- * <li>{@link org.eclipse.emf.compare.impl.ComparisonImpl#getConflicts <em>Conflicts</em>}</li>
- * <li>{@link org.eclipse.emf.compare.impl.ComparisonImpl#getEquivalences <em>Equivalences</em>}</li>
- * <li>{@link org.eclipse.emf.compare.impl.ComparisonImpl#isThreeWay <em>Three Way</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-@SuppressWarnings("boxing")
-public class ComparisonImpl extends MinimalEObjectImpl implements Comparison {
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public static final String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$
-
- /**
- * The cached value of the '{@link #getMatchedResources() <em>Matched Resources</em>}' containment
- * reference list. <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getMatchedResources()
- * @generated
- * @ordered
- */
- protected EList<MatchResource> matchedResources;
-
- /**
- * The cached value of the '{@link #getMatches() <em>Matches</em>}' containment reference list. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getMatches()
- * @generated
- * @ordered
- */
- protected EList<Match> matches;
-
- /**
- * The cached value of the '{@link #getConflicts() <em>Conflicts</em>}' containment reference list. <!--
- * begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getConflicts()
- * @generated
- * @ordered
- */
- protected EList<Conflict> conflicts;
-
- /**
- * The cached value of the '{@link #getEquivalences() <em>Equivalences</em>}' containment reference list.
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @see #getEquivalences()
- * @generated
- * @ordered
- */
- protected EList<Equivalence> equivalences;
-
- /**
- * The default value of the '{@link #isThreeWay() <em>Three Way</em>}' attribute. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #isThreeWay()
- * @generated
- * @ordered
- */
- protected static final boolean THREE_WAY_EDEFAULT = false;
-
- /**
- * The cached value of the '{@link #isThreeWay() <em>Three Way</em>}' attribute. <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- *
- * @see #isThreeWay()
- * @generated
- * @ordered
- */
- protected boolean threeWay = THREE_WAY_EDEFAULT;
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- protected ComparisonImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ComparePackage.Literals.COMPARISON;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EList<MatchResource> getMatchedResources() {
- if (matchedResources == null) {
- matchedResources = new EObjectContainmentEList<MatchResource>(MatchResource.class, this,
- ComparePackage.COMPARISON__MATCHED_RESOURCES);
- }
- return matchedResources;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EList<Match> getMatches() {
- if (matches == null) {
- matches = new EObjectContainmentEList<Match>(Match.class, this,
- ComparePackage.COMPARISON__MATCHES);
- }
- return matches;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EList<Conflict> getConflicts() {
- if (conflicts == null) {
- conflicts = new EObjectContainmentEList<Conflict>(Conflict.class, this,
- ComparePackage.COMPARISON__CONFLICTS);
- }
- return conflicts;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EList<Equivalence> getEquivalences() {
- if (equivalences == null) {
- equivalences = new EObjectContainmentEList<Equivalence>(Equivalence.class, this,
- ComparePackage.COMPARISON__EQUIVALENCES);
- }
- return equivalences;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EList<Diff> getDifferences() {
- // TODO: implement this method
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public EList<Diff> getDifferences(EObject element) {
- // TODO: implement this method
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public Match getMatch(EObject element) {
- // TODO: implement this method
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public IEqualityHelper getEqualityHelper() {
- // TODO: implement this method
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public boolean isThreeWay() {
- return threeWay;
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- public void setThreeWay(boolean newThreeWay) {
- boolean oldThreeWay = threeWay;
- threeWay = newThreeWay;
- if (eNotificationRequired()) {
- eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.COMPARISON__THREE_WAY,
- oldThreeWay, threeWay));
- }
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
- switch (featureID) {
- case ComparePackage.COMPARISON__MATCHED_RESOURCES:
- return ((InternalEList<?>)getMatchedResources()).basicRemove(otherEnd, msgs);
- case ComparePackage.COMPARISON__MATCHES:
- return ((InternalEList<?>)getMatches()).basicRemove(otherEnd, msgs);
- case ComparePackage.COMPARISON__CONFLICTS:
- return ((InternalEList<?>)getConflicts()).basicRemove(otherEnd, msgs);
- case ComparePackage.COMPARISON__EQUIVALENCES:
- return ((InternalEList<?>)getEquivalences()).basicRemove(otherEnd, 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 ComparePackage.COMPARISON__MATCHED_RESOURCES:
- return getMatchedResources();
- case ComparePackage.COMPARISON__MATCHES:
- return getMatches();
- case ComparePackage.COMPARISON__CONFLICTS:
- return getConflicts();
- case ComparePackage.COMPARISON__EQUIVALENCES:
- return getEquivalences();
- case ComparePackage.COMPARISON__THREE_WAY:
- return isThreeWay();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- @SuppressWarnings("unchecked")
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case ComparePackage.COMPARISON__MATCHED_RESOURCES:
- getMatchedResources().clear();
- getMatchedResources().addAll((Collection<? extends MatchResource>)newValue);
- return;
- case ComparePackage.COMPARISON__MATCHES:
- getMatches().clear();
- getMatches().addAll((Collection<? extends Match>)newValue);
- return;
- case ComparePackage.COMPARISON__CONFLICTS:
- getConflicts().clear();
- getConflicts().addAll((Collection<? extends Conflict>)newValue);
- return;
- case ComparePackage.COMPARISON__EQUIVALENCES:
- getEquivalences().clear();
- getEquivalences().addAll((Collection<? extends Equivalence>)newValue);
- return;
- case ComparePackage.COMPARISON__THREE_WAY:
- setThreeWay((Boolean)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ComparePackage.COMPARISON__MATCHED_RESOURCES:
- getMatchedResources().clear();
- return;
- case ComparePackage.COMPARISON__MATCHES:
- getMatches().clear();
- return;
- case ComparePackage.COMPARISON__CONFLICTS:
- getConflicts().clear();
- return;
- case ComparePackage.COMPARISON__EQUIVALENCES:
- getEquivalences().clear();
- return;
- case ComparePackage.COMPARISON__THREE_WAY:
- setThreeWay(THREE_WAY_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc --> <!-- end-user-doc -->
- *
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ComparePackage.COMPARISON__MATCHED_RESOURCES:
- return matchedResources != null && !matchedResources.isEmpty();
- case ComparePackage.COMPARISON__MATCHES:
- return matches != null && !matches.isEmpty();
- case ComparePackage.COMPARISON__CONFLICTS:
- return conflicts != null && !conflicts.isEmpty();
- case ComparePackage.COMPARISON__EQUIVALENCES:
- return equivalences != null && !equivalences.isEmpty();
- case ComparePackage.COMPARISON__THREE_WAY:
- return threeWay != THREE_WAY_EDEFAULT;
- }
- 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(" (threeWay: "); //$NON-NLS-1$
- result.append(threeWay);
- result.append(')');
- return result.toString();
- }
-
-} // ComparisonImpl
+/** + * Copyright (c) 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.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.ComparePackage; +import org.eclipse.emf.compare.Comparison; +import org.eclipse.emf.compare.Conflict; +import org.eclipse.emf.compare.Diff; +import org.eclipse.emf.compare.Equivalence; +import org.eclipse.emf.compare.Match; +import org.eclipse.emf.compare.MatchResource; +import org.eclipse.emf.compare.utils.IEqualityHelper; +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.eclipse.emf.ecore.impl.MinimalEObjectImpl; +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * <!-- begin-user-doc --> An implementation of the model object '<em><b>Comparison</b></em>'. <!-- + * end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.compare.impl.ComparisonImpl#getMatchedResources <em>Matched Resources</em>}</li> + * <li>{@link org.eclipse.emf.compare.impl.ComparisonImpl#getMatches <em>Matches</em>}</li> + * <li>{@link org.eclipse.emf.compare.impl.ComparisonImpl#getConflicts <em>Conflicts</em>}</li> + * <li>{@link org.eclipse.emf.compare.impl.ComparisonImpl#getEquivalences <em>Equivalences</em>}</li> + * <li>{@link org.eclipse.emf.compare.impl.ComparisonImpl#isThreeWay <em>Three Way</em>}</li> + * </ul> + * </p> + * + * @generated + */ +@SuppressWarnings("boxing") +public class ComparisonImpl extends MinimalEObjectImpl implements Comparison { + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public static final String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$ + + /** + * The cached value of the '{@link #getMatchedResources() <em>Matched Resources</em>}' containment reference list. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see #getMatchedResources() + * @generated + * @ordered + */ + protected EList<MatchResource> matchedResources; + + /** + * The cached value of the '{@link #getMatches() <em>Matches</em>}' containment reference list. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @see #getMatches() + * @generated + * @ordered + */ + protected EList<Match> matches; + + /** + * The cached value of the '{@link #getConflicts() <em>Conflicts</em>}' containment reference list. <!-- + * begin-user-doc --> <!-- end-user-doc --> + * + * @see #getConflicts() + * @generated + * @ordered + */ + protected EList<Conflict> conflicts; + + /** + * The cached value of the '{@link #getEquivalences() <em>Equivalences</em>}' containment reference list. + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @see #getEquivalences() + * @generated + * @ordered + */ + protected EList<Equivalence> equivalences; + + /** + * The default value of the '{@link #isThreeWay() <em>Three Way</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isThreeWay() + * @generated + * @ordered + */ + protected static final boolean THREE_WAY_EDEFAULT = false; + + /** + * The cached value of the '{@link #isThreeWay() <em>Three Way</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #isThreeWay() + * @generated + * @ordered + */ + protected boolean threeWay = THREE_WAY_EDEFAULT; + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + protected ComparisonImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ComparePackage.Literals.COMPARISON; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EList<MatchResource> getMatchedResources() { + if (matchedResources == null) { + matchedResources = new EObjectContainmentWithInverseEList<MatchResource>(MatchResource.class, + this, ComparePackage.COMPARISON__MATCHED_RESOURCES, + ComparePackage.MATCH_RESOURCE__COMPARISON); + } + return matchedResources; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EList<Match> getMatches() { + if (matches == null) { + matches = new EObjectContainmentEList<Match>(Match.class, this, + ComparePackage.COMPARISON__MATCHES); + } + return matches; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EList<Conflict> getConflicts() { + if (conflicts == null) { + conflicts = new EObjectContainmentEList<Conflict>(Conflict.class, this, + ComparePackage.COMPARISON__CONFLICTS); + } + return conflicts; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EList<Equivalence> getEquivalences() { + if (equivalences == null) { + equivalences = new EObjectContainmentEList<Equivalence>(Equivalence.class, this, + ComparePackage.COMPARISON__EQUIVALENCES); + } + return equivalences; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EList<Diff> getDifferences() { + // TODO: implement this method + // Ensure that you remove @generated or mark it @generated NOT + throw new UnsupportedOperationException(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public EList<Diff> getDifferences(EObject element) { + // TODO: implement this method + // Ensure that you remove @generated or mark it @generated NOT + throw new UnsupportedOperationException(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public Match getMatch(EObject element) { + // TODO: implement this method + // Ensure that you remove @generated or mark it @generated NOT + throw new UnsupportedOperationException(); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public IEqualityHelper getEqualityHelper() { + // TODO: implement this method + // Ensure that you remove @generated or mark it @generated NOT + throw new UnsupportedOperationException(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ComparePackage.COMPARISON__MATCHED_RESOURCES: + return ((InternalEList<InternalEObject>)(InternalEList<?>)getMatchedResources()).basicAdd( + otherEnd, msgs); + } + return super.eInverseAdd(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public boolean isThreeWay() { + return threeWay; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + public void setThreeWay(boolean newThreeWay) { + boolean oldThreeWay = threeWay; + threeWay = newThreeWay; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.COMPARISON__THREE_WAY, + oldThreeWay, threeWay)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ComparePackage.COMPARISON__MATCHED_RESOURCES: + return ((InternalEList<?>)getMatchedResources()).basicRemove(otherEnd, msgs); + case ComparePackage.COMPARISON__MATCHES: + return ((InternalEList<?>)getMatches()).basicRemove(otherEnd, msgs); + case ComparePackage.COMPARISON__CONFLICTS: + return ((InternalEList<?>)getConflicts()).basicRemove(otherEnd, msgs); + case ComparePackage.COMPARISON__EQUIVALENCES: + return ((InternalEList<?>)getEquivalences()).basicRemove(otherEnd, 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 ComparePackage.COMPARISON__MATCHED_RESOURCES: + return getMatchedResources(); + case ComparePackage.COMPARISON__MATCHES: + return getMatches(); + case ComparePackage.COMPARISON__CONFLICTS: + return getConflicts(); + case ComparePackage.COMPARISON__EQUIVALENCES: + return getEquivalences(); + case ComparePackage.COMPARISON__THREE_WAY: + return isThreeWay(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ComparePackage.COMPARISON__MATCHED_RESOURCES: + getMatchedResources().clear(); + getMatchedResources().addAll((Collection<? extends MatchResource>)newValue); + return; + case ComparePackage.COMPARISON__MATCHES: + getMatches().clear(); + getMatches().addAll((Collection<? extends Match>)newValue); + return; + case ComparePackage.COMPARISON__CONFLICTS: + getConflicts().clear(); + getConflicts().addAll((Collection<? extends Conflict>)newValue); + return; + case ComparePackage.COMPARISON__EQUIVALENCES: + getEquivalences().clear(); + getEquivalences().addAll((Collection<? extends Equivalence>)newValue); + return; + case ComparePackage.COMPARISON__THREE_WAY: + setThreeWay((Boolean)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ComparePackage.COMPARISON__MATCHED_RESOURCES: + getMatchedResources().clear(); + return; + case ComparePackage.COMPARISON__MATCHES: + getMatches().clear(); + return; + case ComparePackage.COMPARISON__CONFLICTS: + getConflicts().clear(); + return; + case ComparePackage.COMPARISON__EQUIVALENCES: + getEquivalences().clear(); + return; + case ComparePackage.COMPARISON__THREE_WAY: + setThreeWay(THREE_WAY_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ComparePackage.COMPARISON__MATCHED_RESOURCES: + return matchedResources != null && !matchedResources.isEmpty(); + case ComparePackage.COMPARISON__MATCHES: + return matches != null && !matches.isEmpty(); + case ComparePackage.COMPARISON__CONFLICTS: + return conflicts != null && !conflicts.isEmpty(); + case ComparePackage.COMPARISON__EQUIVALENCES: + return equivalences != null && !equivalences.isEmpty(); + case ComparePackage.COMPARISON__THREE_WAY: + return threeWay != THREE_WAY_EDEFAULT; + } + 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(" (threeWay: "); //$NON-NLS-1$ + result.append(threeWay); + result.append(')'); + return result.toString(); + } + +} // ComparisonImpl diff --git a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/MatchResourceImpl.java b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/MatchResourceImpl.java index a84d24964..66d9efaf3 100644 --- a/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/MatchResourceImpl.java +++ b/plugins/org.eclipse.emf.compare/src-gen/org/eclipse/emf/compare/impl/MatchResourceImpl.java @@ -1,457 +1,563 @@ -/**
- * Copyright (c) 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.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.compare.ComparePackage;
-import org.eclipse.emf.compare.MatchResource;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
-import org.eclipse.emf.ecore.resource.Resource;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Match Resource</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getLeftURI <em>Left URI</em>}</li>
- * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getRightURI <em>Right URI</em>}</li>
- * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getOriginURI <em>Origin URI</em>}</li>
- * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getLeft <em>Left</em>}</li>
- * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getRight <em>Right</em>}</li>
- * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getOrigin <em>Origin</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class MatchResourceImpl extends MinimalEObjectImpl implements MatchResource {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static final String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$
-
- /**
- * The default value of the '{@link #getLeftURI() <em>Left URI</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLeftURI()
- * @generated
- * @ordered
- */
- protected static final String LEFT_URI_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getLeftURI() <em>Left URI</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLeftURI()
- * @generated
- * @ordered
- */
- protected String leftURI = LEFT_URI_EDEFAULT;
-
- /**
- * The default value of the '{@link #getRightURI() <em>Right URI</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRightURI()
- * @generated
- * @ordered
- */
- protected static final String RIGHT_URI_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getRightURI() <em>Right URI</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRightURI()
- * @generated
- * @ordered
- */
- protected String rightURI = RIGHT_URI_EDEFAULT;
-
- /**
- * The default value of the '{@link #getOriginURI() <em>Origin URI</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOriginURI()
- * @generated
- * @ordered
- */
- protected static final String ORIGIN_URI_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getOriginURI() <em>Origin URI</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOriginURI()
- * @generated
- * @ordered
- */
- protected String originURI = ORIGIN_URI_EDEFAULT;
-
- /**
- * The default value of the '{@link #getLeft() <em>Left</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLeft()
- * @generated
- * @ordered
- */
- protected static final Resource LEFT_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getLeft() <em>Left</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getLeft()
- * @generated
- * @ordered
- */
- protected Resource left = LEFT_EDEFAULT;
-
- /**
- * The default value of the '{@link #getRight() <em>Right</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRight()
- * @generated
- * @ordered
- */
- protected static final Resource RIGHT_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getRight() <em>Right</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getRight()
- * @generated
- * @ordered
- */
- protected Resource right = RIGHT_EDEFAULT;
-
- /**
- * The default value of the '{@link #getOrigin() <em>Origin</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOrigin()
- * @generated
- * @ordered
- */
- protected static final Resource ORIGIN_EDEFAULT = null;
-
- /**
- * The cached value of the '{@link #getOrigin() <em>Origin</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getOrigin()
- * @generated
- * @ordered
- */
- protected Resource origin = ORIGIN_EDEFAULT;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected MatchResourceImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass() {
- return ComparePackage.Literals.MATCH_RESOURCE;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getLeftURI() {
- return leftURI;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLeftURI(String newLeftURI) {
- String oldLeftURI = leftURI;
- leftURI = newLeftURI;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__LEFT_URI,
- oldLeftURI, leftURI));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getRightURI() {
- return rightURI;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setRightURI(String newRightURI) {
- String oldRightURI = rightURI;
- rightURI = newRightURI;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__RIGHT_URI,
- oldRightURI, rightURI));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getOriginURI() {
- return originURI;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setOriginURI(String newOriginURI) {
- String oldOriginURI = originURI;
- originURI = newOriginURI;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__ORIGIN_URI,
- oldOriginURI, originURI));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Resource getLeft() {
- return left;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setLeft(Resource newLeft) {
- Resource oldLeft = left;
- left = newLeft;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__LEFT,
- oldLeft, left));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Resource getRight() {
- return right;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setRight(Resource newRight) {
- Resource oldRight = right;
- right = newRight;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__RIGHT,
- oldRight, right));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Resource getOrigin() {
- return origin;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setOrigin(Resource newOrigin) {
- Resource oldOrigin = origin;
- origin = newOrigin;
- if (eNotificationRequired())
- eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__ORIGIN,
- oldOrigin, origin));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType) {
- switch (featureID) {
- case ComparePackage.MATCH_RESOURCE__LEFT_URI:
- return getLeftURI();
- case ComparePackage.MATCH_RESOURCE__RIGHT_URI:
- return getRightURI();
- case ComparePackage.MATCH_RESOURCE__ORIGIN_URI:
- return getOriginURI();
- case ComparePackage.MATCH_RESOURCE__LEFT:
- return getLeft();
- case ComparePackage.MATCH_RESOURCE__RIGHT:
- return getRight();
- case ComparePackage.MATCH_RESOURCE__ORIGIN:
- return getOrigin();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue) {
- switch (featureID) {
- case ComparePackage.MATCH_RESOURCE__LEFT_URI:
- setLeftURI((String)newValue);
- return;
- case ComparePackage.MATCH_RESOURCE__RIGHT_URI:
- setRightURI((String)newValue);
- return;
- case ComparePackage.MATCH_RESOURCE__ORIGIN_URI:
- setOriginURI((String)newValue);
- return;
- case ComparePackage.MATCH_RESOURCE__LEFT:
- setLeft((Resource)newValue);
- return;
- case ComparePackage.MATCH_RESOURCE__RIGHT:
- setRight((Resource)newValue);
- return;
- case ComparePackage.MATCH_RESOURCE__ORIGIN:
- setOrigin((Resource)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID) {
- switch (featureID) {
- case ComparePackage.MATCH_RESOURCE__LEFT_URI:
- setLeftURI(LEFT_URI_EDEFAULT);
- return;
- case ComparePackage.MATCH_RESOURCE__RIGHT_URI:
- setRightURI(RIGHT_URI_EDEFAULT);
- return;
- case ComparePackage.MATCH_RESOURCE__ORIGIN_URI:
- setOriginURI(ORIGIN_URI_EDEFAULT);
- return;
- case ComparePackage.MATCH_RESOURCE__LEFT:
- setLeft(LEFT_EDEFAULT);
- return;
- case ComparePackage.MATCH_RESOURCE__RIGHT:
- setRight(RIGHT_EDEFAULT);
- return;
- case ComparePackage.MATCH_RESOURCE__ORIGIN:
- setOrigin(ORIGIN_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID) {
- switch (featureID) {
- case ComparePackage.MATCH_RESOURCE__LEFT_URI:
- return LEFT_URI_EDEFAULT == null ? leftURI != null : !LEFT_URI_EDEFAULT.equals(leftURI);
- case ComparePackage.MATCH_RESOURCE__RIGHT_URI:
- return RIGHT_URI_EDEFAULT == null ? rightURI != null : !RIGHT_URI_EDEFAULT.equals(rightURI);
- case ComparePackage.MATCH_RESOURCE__ORIGIN_URI:
- return ORIGIN_URI_EDEFAULT == null ? originURI != null : !ORIGIN_URI_EDEFAULT
- .equals(originURI);
- case ComparePackage.MATCH_RESOURCE__LEFT:
- return LEFT_EDEFAULT == null ? left != null : !LEFT_EDEFAULT.equals(left);
- case ComparePackage.MATCH_RESOURCE__RIGHT:
- return RIGHT_EDEFAULT == null ? right != null : !RIGHT_EDEFAULT.equals(right);
- case ComparePackage.MATCH_RESOURCE__ORIGIN:
- return ORIGIN_EDEFAULT == null ? origin != null : !ORIGIN_EDEFAULT.equals(origin);
- }
- 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(" (leftURI: "); //$NON-NLS-1$
- result.append(leftURI);
- result.append(", rightURI: "); //$NON-NLS-1$
- result.append(rightURI);
- result.append(", originURI: "); //$NON-NLS-1$
- result.append(originURI);
- result.append(", left: "); //$NON-NLS-1$
- result.append(left);
- result.append(", right: "); //$NON-NLS-1$
- result.append(right);
- result.append(", origin: "); //$NON-NLS-1$
- result.append(origin);
- result.append(')');
- return result.toString();
- }
-
-} //MatchResourceImpl
+/** + * Copyright (c) 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.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.notify.NotificationChain; +import org.eclipse.emf.compare.ComparePackage; +import org.eclipse.emf.compare.Comparison; +import org.eclipse.emf.compare.MatchResource; + +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 org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.util.EcoreUtil; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Match Resource</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * <ul> + * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getLeftURI <em>Left URI</em>}</li> + * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getRightURI <em>Right URI</em>}</li> + * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getOriginURI <em>Origin URI</em>}</li> + * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getLeft <em>Left</em>}</li> + * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getRight <em>Right</em>}</li> + * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getOrigin <em>Origin</em>}</li> + * <li>{@link org.eclipse.emf.compare.impl.MatchResourceImpl#getComparison <em>Comparison</em>}</li> + * </ul> + * </p> + * + * @generated + */ +public class MatchResourceImpl extends MinimalEObjectImpl implements MatchResource { + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static final String copyright = "Copyright (c) 2012 Obeo.\r\nAll rights reserved. This program and the accompanying materials\r\nare made available under the terms of the Eclipse Public License v1.0\r\nwhich accompanies this distribution, and is available at\r\nhttp://www.eclipse.org/legal/epl-v10.html\r\n\r\nContributors:\r\n Obeo - initial API and implementation"; //$NON-NLS-1$ + + /** + * The default value of the '{@link #getLeftURI() <em>Left URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLeftURI() + * @generated + * @ordered + */ + protected static final String LEFT_URI_EDEFAULT = null; + + /** + * The cached value of the '{@link #getLeftURI() <em>Left URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLeftURI() + * @generated + * @ordered + */ + protected String leftURI = LEFT_URI_EDEFAULT; + + /** + * The default value of the '{@link #getRightURI() <em>Right URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRightURI() + * @generated + * @ordered + */ + protected static final String RIGHT_URI_EDEFAULT = null; + + /** + * The cached value of the '{@link #getRightURI() <em>Right URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRightURI() + * @generated + * @ordered + */ + protected String rightURI = RIGHT_URI_EDEFAULT; + + /** + * The default value of the '{@link #getOriginURI() <em>Origin URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOriginURI() + * @generated + * @ordered + */ + protected static final String ORIGIN_URI_EDEFAULT = null; + + /** + * The cached value of the '{@link #getOriginURI() <em>Origin URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOriginURI() + * @generated + * @ordered + */ + protected String originURI = ORIGIN_URI_EDEFAULT; + + /** + * The default value of the '{@link #getLeft() <em>Left</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLeft() + * @generated + * @ordered + */ + protected static final Resource LEFT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getLeft() <em>Left</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getLeft() + * @generated + * @ordered + */ + protected Resource left = LEFT_EDEFAULT; + + /** + * The default value of the '{@link #getRight() <em>Right</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRight() + * @generated + * @ordered + */ + protected static final Resource RIGHT_EDEFAULT = null; + + /** + * The cached value of the '{@link #getRight() <em>Right</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRight() + * @generated + * @ordered + */ + protected Resource right = RIGHT_EDEFAULT; + + /** + * The default value of the '{@link #getOrigin() <em>Origin</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrigin() + * @generated + * @ordered + */ + protected static final Resource ORIGIN_EDEFAULT = null; + + /** + * The cached value of the '{@link #getOrigin() <em>Origin</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getOrigin() + * @generated + * @ordered + */ + protected Resource origin = ORIGIN_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected MatchResourceImpl() { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() { + return ComparePackage.Literals.MATCH_RESOURCE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getLeftURI() { + return leftURI; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLeftURI(String newLeftURI) { + String oldLeftURI = leftURI; + leftURI = newLeftURI; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__LEFT_URI, + oldLeftURI, leftURI)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getRightURI() { + return rightURI; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setRightURI(String newRightURI) { + String oldRightURI = rightURI; + rightURI = newRightURI; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__RIGHT_URI, + oldRightURI, rightURI)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public String getOriginURI() { + return originURI; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOriginURI(String newOriginURI) { + String oldOriginURI = originURI; + originURI = newOriginURI; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__ORIGIN_URI, + oldOriginURI, originURI)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Resource getLeft() { + return left; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setLeft(Resource newLeft) { + Resource oldLeft = left; + left = newLeft; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__LEFT, + oldLeft, left)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Resource getRight() { + return right; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setRight(Resource newRight) { + Resource oldRight = right; + right = newRight; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__RIGHT, + oldRight, right)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Resource getOrigin() { + return origin; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setOrigin(Resource newOrigin) { + Resource oldOrigin = origin; + origin = newOrigin; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__ORIGIN, + oldOrigin, origin)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public Comparison getComparison() { + if (eContainerFeatureID() != ComparePackage.MATCH_RESOURCE__COMPARISON) + return null; + return (Comparison)eContainer(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetComparison(Comparison newComparison, NotificationChain msgs) { + msgs = eBasicSetContainer((InternalEObject)newComparison, ComparePackage.MATCH_RESOURCE__COMPARISON, + msgs); + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void setComparison(Comparison newComparison) { + if (newComparison != eInternalContainer() + || (eContainerFeatureID() != ComparePackage.MATCH_RESOURCE__COMPARISON && newComparison != null)) { + if (EcoreUtil.isAncestor(this, newComparison)) + throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$ + NotificationChain msgs = null; + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + if (newComparison != null) + msgs = ((InternalEObject)newComparison).eInverseAdd(this, + ComparePackage.COMPARISON__MATCHED_RESOURCES, Comparison.class, msgs); + msgs = basicSetComparison(newComparison, msgs); + if (msgs != null) + msgs.dispatch(); + } else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ComparePackage.MATCH_RESOURCE__COMPARISON, + newComparison, newComparison)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case ComparePackage.MATCH_RESOURCE__COMPARISON: + if (eInternalContainer() != null) + msgs = eBasicRemoveFromContainer(msgs); + return basicSetComparison((Comparison)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 ComparePackage.MATCH_RESOURCE__COMPARISON: + return basicSetComparison(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) { + switch (eContainerFeatureID()) { + case ComparePackage.MATCH_RESOURCE__COMPARISON: + return eInternalContainer().eInverseRemove(this, + ComparePackage.COMPARISON__MATCHED_RESOURCES, Comparison.class, msgs); + } + return super.eBasicRemoveFromContainerFeature(msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case ComparePackage.MATCH_RESOURCE__LEFT_URI: + return getLeftURI(); + case ComparePackage.MATCH_RESOURCE__RIGHT_URI: + return getRightURI(); + case ComparePackage.MATCH_RESOURCE__ORIGIN_URI: + return getOriginURI(); + case ComparePackage.MATCH_RESOURCE__LEFT: + return getLeft(); + case ComparePackage.MATCH_RESOURCE__RIGHT: + return getRight(); + case ComparePackage.MATCH_RESOURCE__ORIGIN: + return getOrigin(); + case ComparePackage.MATCH_RESOURCE__COMPARISON: + return getComparison(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case ComparePackage.MATCH_RESOURCE__LEFT_URI: + setLeftURI((String)newValue); + return; + case ComparePackage.MATCH_RESOURCE__RIGHT_URI: + setRightURI((String)newValue); + return; + case ComparePackage.MATCH_RESOURCE__ORIGIN_URI: + setOriginURI((String)newValue); + return; + case ComparePackage.MATCH_RESOURCE__LEFT: + setLeft((Resource)newValue); + return; + case ComparePackage.MATCH_RESOURCE__RIGHT: + setRight((Resource)newValue); + return; + case ComparePackage.MATCH_RESOURCE__ORIGIN: + setOrigin((Resource)newValue); + return; + case ComparePackage.MATCH_RESOURCE__COMPARISON: + setComparison((Comparison)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case ComparePackage.MATCH_RESOURCE__LEFT_URI: + setLeftURI(LEFT_URI_EDEFAULT); + return; + case ComparePackage.MATCH_RESOURCE__RIGHT_URI: + setRightURI(RIGHT_URI_EDEFAULT); + return; + case ComparePackage.MATCH_RESOURCE__ORIGIN_URI: + setOriginURI(ORIGIN_URI_EDEFAULT); + return; + case ComparePackage.MATCH_RESOURCE__LEFT: + setLeft(LEFT_EDEFAULT); + return; + case ComparePackage.MATCH_RESOURCE__RIGHT: + setRight(RIGHT_EDEFAULT); + return; + case ComparePackage.MATCH_RESOURCE__ORIGIN: + setOrigin(ORIGIN_EDEFAULT); + return; + case ComparePackage.MATCH_RESOURCE__COMPARISON: + setComparison((Comparison)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case ComparePackage.MATCH_RESOURCE__LEFT_URI: + return LEFT_URI_EDEFAULT == null ? leftURI != null : !LEFT_URI_EDEFAULT.equals(leftURI); + case ComparePackage.MATCH_RESOURCE__RIGHT_URI: + return RIGHT_URI_EDEFAULT == null ? rightURI != null : !RIGHT_URI_EDEFAULT.equals(rightURI); + case ComparePackage.MATCH_RESOURCE__ORIGIN_URI: + return ORIGIN_URI_EDEFAULT == null ? originURI != null : !ORIGIN_URI_EDEFAULT + .equals(originURI); + case ComparePackage.MATCH_RESOURCE__LEFT: + return LEFT_EDEFAULT == null ? left != null : !LEFT_EDEFAULT.equals(left); + case ComparePackage.MATCH_RESOURCE__RIGHT: + return RIGHT_EDEFAULT == null ? right != null : !RIGHT_EDEFAULT.equals(right); + case ComparePackage.MATCH_RESOURCE__ORIGIN: + return ORIGIN_EDEFAULT == null ? origin != null : !ORIGIN_EDEFAULT.equals(origin); + case ComparePackage.MATCH_RESOURCE__COMPARISON: + return getComparison() != 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(" (leftURI: "); //$NON-NLS-1$ + result.append(leftURI); + result.append(", rightURI: "); //$NON-NLS-1$ + result.append(rightURI); + result.append(", originURI: "); //$NON-NLS-1$ + result.append(originURI); + result.append(", left: "); //$NON-NLS-1$ + result.append(left); + result.append(", right: "); //$NON-NLS-1$ + result.append(right); + result.append(", origin: "); //$NON-NLS-1$ + result.append(origin); + result.append(')'); + return result.toString(); + } + +} //MatchResourceImpl |