/** * Copyright (c) 2012, 2015 Obeo and others. * 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 * Philip Langer - adds feature map change spec (bug #448120) */ package org.eclipse.emf.compare.impl; import java.lang.Iterable; import org.eclipse.emf.compare.*; import org.eclipse.emf.compare.utils.IEqualityHelper; import org.eclipse.emf.compare.utils.EqualityHelper; import org.eclipse.emf.compare.internal.spec.AttributeChangeSpec; import org.eclipse.emf.compare.internal.spec.ComparisonSpec; import org.eclipse.emf.compare.internal.spec.ConflictSpec; import org.eclipse.emf.compare.internal.spec.DiffSpec; import org.eclipse.emf.compare.internal.spec.FeatureMapChangeSpec; import org.eclipse.emf.compare.internal.spec.MatchSpec; import org.eclipse.emf.compare.internal.spec.ReferenceChangeSpec; import org.eclipse.emf.compare.internal.spec.ResourceAttachmentChangeSpec; import org.eclipse.emf.compare.internal.spec.ResourceLocationChangeSpec; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EDataType; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.impl.EFactoryImpl; import org.eclipse.emf.ecore.plugin.EcorePlugin; /** * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc --> * @generated */ @SuppressWarnings("unused") // generated code, removing warnings public class CompareFactoryImpl extends EFactoryImpl implements CompareFactory { /** * <!-- 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$ /** * Creates the default factory implementation. * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public static CompareFactory init() { try { CompareFactory theCompareFactory = (CompareFactory)EPackage.Registry.INSTANCE .getEFactory(ComparePackage.eNS_URI); if (theCompareFactory != null) { return theCompareFactory; } } catch (Exception exception) { EcorePlugin.INSTANCE.log(exception); } return new CompareFactoryImpl(); } /** * Creates an instance of the factory. * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public CompareFactoryImpl() { super(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ @Override public EObject create(EClass eClass) { switch (eClass.getClassifierID()) { case ComparePackage.COMPARISON: return createComparison(); case ComparePackage.MATCH_RESOURCE: return createMatchResource(); case ComparePackage.MATCH: return createMatch(); case ComparePackage.DIFF: return createDiff(); case ComparePackage.RESOURCE_ATTACHMENT_CHANGE: return createResourceAttachmentChange(); case ComparePackage.RESOURCE_LOCATION_CHANGE: return createResourceLocationChange(); case ComparePackage.REFERENCE_CHANGE: return createReferenceChange(); case ComparePackage.ATTRIBUTE_CHANGE: return createAttributeChange(); case ComparePackage.FEATURE_MAP_CHANGE: return createFeatureMapChange(); case ComparePackage.CONFLICT: return createConflict(); case ComparePackage.EQUIVALENCE: return createEquivalence(); default: throw new IllegalArgumentException( "The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ @Override public Object createFromString(EDataType eDataType, String initialValue) { switch (eDataType.getClassifierID()) { case ComparePackage.DIFFERENCE_KIND: return createDifferenceKindFromString(eDataType, initialValue); case ComparePackage.DIFFERENCE_SOURCE: return createDifferenceSourceFromString(eDataType, initialValue); case ComparePackage.DIFFERENCE_STATE: return createDifferenceStateFromString(eDataType, initialValue); case ComparePackage.CONFLICT_KIND: return createConflictKindFromString(eDataType, initialValue); case ComparePackage.EITERABLE: return createEIterableFromString(eDataType, initialValue); default: throw new IllegalArgumentException( "The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ @Override public String convertToString(EDataType eDataType, Object instanceValue) { switch (eDataType.getClassifierID()) { case ComparePackage.DIFFERENCE_KIND: return convertDifferenceKindToString(eDataType, instanceValue); case ComparePackage.DIFFERENCE_SOURCE: return convertDifferenceSourceToString(eDataType, instanceValue); case ComparePackage.DIFFERENCE_STATE: return convertDifferenceStateToString(eDataType, instanceValue); case ComparePackage.CONFLICT_KIND: return convertConflictKindToString(eDataType, instanceValue); case ComparePackage.EITERABLE: return convertEIterableToString(eDataType, instanceValue); default: throw new IllegalArgumentException( "The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$ } } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated NOT */ public Comparison createComparison() { return new ComparisonSpec(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public MatchResource createMatchResource() { MatchResourceImpl matchResource = new MatchResourceImpl(); return matchResource; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated NOT */ public Match createMatch() { return new MatchSpec(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated NOT */ public Diff createDiff() { return new DiffSpec(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated NOT */ public ResourceAttachmentChange createResourceAttachmentChange() { return new ResourceAttachmentChangeSpec(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT * @since 3.2 */ public ResourceLocationChange createResourceLocationChange() { return new ResourceLocationChangeSpec(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated NOT */ public ReferenceChange createReferenceChange() { return new ReferenceChangeSpec(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated NOT */ public AttributeChange createAttributeChange() { return new AttributeChangeSpec(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT * @since 3.2 */ public FeatureMapChange createFeatureMapChange() { return new FeatureMapChangeSpec(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated NOT */ public Conflict createConflict() { ConflictImpl conflict = new ConflictSpec(); return conflict; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public Equivalence createEquivalence() { EquivalenceImpl equivalence = new EquivalenceImpl(); return equivalence; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public DifferenceKind createDifferenceKindFromString(EDataType eDataType, String initialValue) { DifferenceKind result = DifferenceKind.get(initialValue); if (result == null) throw new IllegalArgumentException( "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ return result; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public String convertDifferenceKindToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public DifferenceSource createDifferenceSourceFromString(EDataType eDataType, String initialValue) { DifferenceSource result = DifferenceSource.get(initialValue); if (result == null) throw new IllegalArgumentException( "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ return result; } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public String convertDifferenceSourceToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public DifferenceState createDifferenceStateFromString(EDataType eDataType, String initialValue) { DifferenceState result = DifferenceState.get(initialValue); if (result == null) throw new IllegalArgumentException( "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ return result; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String convertDifferenceStateToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public ConflictKind createConflictKindFromString(EDataType eDataType, String initialValue) { ConflictKind result = ConflictKind.get(initialValue); if (result == null) throw new IllegalArgumentException( "The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ return result; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String convertConflictKindToString(EDataType eDataType, Object instanceValue) { return instanceValue == null ? null : instanceValue.toString(); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Iterable<?> createEIterableFromString(EDataType eDataType, String initialValue) { return (Iterable<?>)super.createFromString(initialValue); } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public String convertEIterableToString(EDataType eDataType, Object instanceValue) { return super.convertToString(instanceValue); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @generated */ public ComparePackage getComparePackage() { return (ComparePackage)getEPackage(); } /** * <!-- begin-user-doc --> <!-- end-user-doc --> * @deprecated * @generated */ @Deprecated public static ComparePackage getPackage() { return ComparePackage.eINSTANCE; } } // CompareFactoryImpl