/******************************************************************************* * Copyright (c) 2012, 2016 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 * Stefan Dirix - bug 487595 *******************************************************************************/ package org.eclipse.emf.compare.uml2.internal.provider.decorator; import org.eclipse.emf.compare.uml2.internal.StereotypeApplicationChange; import org.eclipse.emf.compare.uml2.internal.UMLDiff; import org.eclipse.emf.compare.uml2.internal.provider.UMLCompareItemProviderAdapterFactory; import org.eclipse.emf.compare.uml2.internal.util.UMLCompareSwitch; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.edit.provider.DecoratorAdapterFactory; import org.eclipse.emf.edit.provider.IItemProviderDecorator; /** * Decorator for factory {@link UMLCompareItemProviderAdapterFactory}. * * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a> */ public class UMLCompareItemProviderDecoratorAdapterFactory extends DecoratorAdapterFactory { /** * The switch that delegates to the <code>createXXX</code> methods. */ private final UMLCompareSwitch<IItemProviderDecorator> modelSwitch = new UMLCompareSwitch<IItemProviderDecorator>() { @Override public IItemProviderDecorator caseStereotypeApplicationChange(StereotypeApplicationChange object) { return createStereotypeApplicationChangeItemProviderDecorator(); } @Override public IItemProviderDecorator caseStereotypeAttributeChange( org.eclipse.emf.compare.uml2.internal.StereotypeAttributeChange object) { return createStereotypeAttributeChangeItemProviderDecorator(); } @Override public IItemProviderDecorator caseStereotypeReferenceChange( org.eclipse.emf.compare.uml2.internal.StereotypeReferenceChange object) { return createStereotyeReferenceChangeItemProviderDecorator(); } @Override public IItemProviderDecorator caseUMLDiff(UMLDiff object) { return createUMLDiffItemProviderDecorator(); } @Override public IItemProviderDecorator defaultCase(EObject object) { return createUMLDiffItemProviderDecorator(); } }; /** * Creates a new instance. */ public UMLCompareItemProviderDecoratorAdapterFactory() { super(new UMLCompareItemProviderAdapterFactory()); } /** * Creates a new adapter for an object of class ' * {@link org.eclipse.emf.compare.uml2.internal.StereotypeReferenceChange * <em>Stereotype Reference Change</em>}'. * * @return the new adapter. */ protected IItemProviderDecorator createStereotyeReferenceChangeItemProviderDecorator() { return new StereotypeReferenceChangeItemProviderDecorator(this); } /** * Creates a new adapter for an object of class ' * {@link org.eclipse.emf.compare.uml2.internal.StereotypeAttributeChange * <em>Stereotype Attribute Change</em>}'. * * @return the new adapter. */ protected IItemProviderDecorator createStereotypeAttributeChangeItemProviderDecorator() { return new StereotypeAttributeChangeItemProviderDecorator(this); } /** * {@inheritDoc} * * @see org.eclipse.emf.edit.provider.DecoratorAdapterFactory#createItemProviderDecorator(java.lang.Object, * java.lang.Object) */ @Override protected IItemProviderDecorator createItemProviderDecorator(Object target, Object type) { return modelSwitch.doSwitch((EObject)target); } /** * Creates a new adapter for an object of class ' * {@link org.eclipse.emf.compare.uml2.internal.StereotypeApplicationChange * <em>Stereotype Application Change</em>}'. * * @return the new adapter. */ protected IItemProviderDecorator createStereotypeApplicationChangeItemProviderDecorator() { return new StereotypeApplicationChangeItemProviderDecorator(this); } /** * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.uml2.internal.UMLDiff * <em>UML Diff</em>}'. * * @return the new adapter. */ protected IItemProviderDecorator createUMLDiffItemProviderDecorator() { return new UMLDiffItemProviderDecorator(this); } }