/**
* Copyright (c) 2012-2016 Marsha Chechik, Alessio Di Sandro, Michalis Famelis,
* Rick Salay.
* 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:
* Alessio Di Sandro - Implementation.
*/
package edu.toronto.cs.se.mmint.mavo.mavomid.provider;
import edu.toronto.cs.se.mmint.mavo.mavomid.MAVOMIDFactory;
import edu.toronto.cs.se.mmint.mavo.mavomid.util.MAVOMIDAdapterFactory;
import edu.toronto.cs.se.mmint.mid.MID;
import edu.toronto.cs.se.mmint.mid.MIDPackage;
import edu.toronto.cs.se.mmint.mid.Model;
import edu.toronto.cs.se.mmint.mid.operator.Operator;
import edu.toronto.cs.se.mmint.mid.operator.OperatorPackage;
import edu.toronto.cs.se.mmint.mid.operator.util.OperatorSwitch;
import edu.toronto.cs.se.mmint.mid.relationship.ExtendibleElementReference;
import edu.toronto.cs.se.mmint.mid.relationship.ModelEndpointReference;
import edu.toronto.cs.se.mmint.mid.relationship.ModelRel;
import edu.toronto.cs.se.mmint.mid.relationship.RelationshipPackage;
import edu.toronto.cs.se.mmint.mid.relationship.util.RelationshipSwitch;
import edu.toronto.cs.se.mmint.mid.util.MIDSwitch;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.edit.command.CommandParameter;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.provider.ChangeNotifier;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IChangeNotifier;
import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IDisposable;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.INotifyChangedListener;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
/**
* This is the factory that is used to provide the interfaces needed to support Viewers.
* The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
* The adapters also support Eclipse property sheets.
* Note that most of the adapters are shared among multiple instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class MAVOMIDItemProviderAdapterFactory extends MAVOMIDAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
/**
* This keeps track of the root adapter factory that delegates to this adapter factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ComposedAdapterFactory parentAdapterFactory;
/**
* This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IChangeNotifier changeNotifier = new ChangeNotifier();
/**
* This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Collection<Object> supportedTypes = new ArrayList<Object>();
/**
* This constructs an instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public MAVOMIDItemProviderAdapterFactory() {
supportedTypes.add(IEditingDomainItemProvider.class);
supportedTypes.add(IStructuredItemContentProvider.class);
supportedTypes.add(ITreeItemContentProvider.class);
supportedTypes.add(IItemLabelProvider.class);
supportedTypes.add(IItemPropertySource.class);
}
/**
* This keeps track of the one adapter used for all {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModel} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MAVOModelItemProvider mavoModelItemProvider;
/**
* This creates an adapter for a {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModel}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMAVOModelAdapter() {
if (mavoModelItemProvider == null) {
mavoModelItemProvider = new MAVOModelItemProvider(this);
}
return mavoModelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModelElement} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MAVOModelElementItemProvider mavoModelElementItemProvider;
/**
* This creates an adapter for a {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModelElement}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMAVOModelElementAdapter() {
if (mavoModelElementItemProvider == null) {
mavoModelElementItemProvider = new MAVOModelElementItemProvider(this);
}
return mavoModelElementItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModelRel} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MAVOModelRelItemProvider mavoModelRelItemProvider;
/**
* This creates an adapter for a {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModelRel}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMAVOModelRelAdapter() {
if (mavoModelRelItemProvider == null) {
mavoModelRelItemProvider = new MAVOModelRelItemProvider(this);
}
return mavoModelRelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link edu.toronto.cs.se.mmint.mavo.mavomid.BinaryMAVOModelRel} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected BinaryMAVOModelRelItemProvider binaryMAVOModelRelItemProvider;
/**
* This creates an adapter for a {@link edu.toronto.cs.se.mmint.mavo.mavomid.BinaryMAVOModelRel}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createBinaryMAVOModelRelAdapter() {
if (binaryMAVOModelRelItemProvider == null) {
binaryMAVOModelRelItemProvider = new BinaryMAVOModelRelItemProvider(this);
}
return binaryMAVOModelRelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModelEndpoint} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MAVOModelEndpointItemProvider mavoModelEndpointItemProvider;
/**
* This creates an adapter for a {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModelEndpoint}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMAVOModelEndpointAdapter() {
if (mavoModelEndpointItemProvider == null) {
mavoModelEndpointItemProvider = new MAVOModelEndpointItemProvider(this);
}
return mavoModelEndpointItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModelEndpointReference} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MAVOModelEndpointReferenceItemProvider mavoModelEndpointReferenceItemProvider;
/**
* This creates an adapter for a {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModelEndpointReference}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMAVOModelEndpointReferenceAdapter() {
if (mavoModelEndpointReferenceItemProvider == null) {
mavoModelEndpointReferenceItemProvider = new MAVOModelEndpointReferenceItemProvider(this);
}
return mavoModelEndpointReferenceItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOMappingReference} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MAVOMappingReferenceItemProvider mavoMappingReferenceItemProvider;
/**
* This creates an adapter for a {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOMappingReference}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMAVOMappingReferenceAdapter() {
if (mavoMappingReferenceItemProvider == null) {
mavoMappingReferenceItemProvider = new MAVOMappingReferenceItemProvider(this);
}
return mavoMappingReferenceItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link edu.toronto.cs.se.mmint.mavo.mavomid.BinaryMAVOMappingReference} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected BinaryMAVOMappingReferenceItemProvider binaryMAVOMappingReferenceItemProvider;
/**
* This creates an adapter for a {@link edu.toronto.cs.se.mmint.mavo.mavomid.BinaryMAVOMappingReference}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createBinaryMAVOMappingReferenceAdapter() {
if (binaryMAVOMappingReferenceItemProvider == null) {
binaryMAVOMappingReferenceItemProvider = new BinaryMAVOMappingReferenceItemProvider(this);
}
return binaryMAVOMappingReferenceItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOMapping} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MAVOMappingItemProvider mavoMappingItemProvider;
/**
* This creates an adapter for a {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOMapping}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMAVOMappingAdapter() {
if (mavoMappingItemProvider == null) {
mavoMappingItemProvider = new MAVOMappingItemProvider(this);
}
return mavoMappingItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link edu.toronto.cs.se.mmint.mavo.mavomid.BinaryMAVOMapping} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected BinaryMAVOMappingItemProvider binaryMAVOMappingItemProvider;
/**
* This creates an adapter for a {@link edu.toronto.cs.se.mmint.mavo.mavomid.BinaryMAVOMapping}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createBinaryMAVOMappingAdapter() {
if (binaryMAVOMappingItemProvider == null) {
binaryMAVOMappingItemProvider = new BinaryMAVOMappingItemProvider(this);
}
return binaryMAVOMappingItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModelElementReference} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MAVOModelElementReferenceItemProvider mavoModelElementReferenceItemProvider;
/**
* This creates an adapter for a {@link edu.toronto.cs.se.mmint.mavo.mavomid.MAVOModelElementReference}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMAVOModelElementReferenceAdapter() {
if (mavoModelElementReferenceItemProvider == null) {
mavoModelElementReferenceItemProvider = new MAVOModelElementReferenceItemProvider(this);
}
return mavoModelElementReferenceItemProvider;
}
/**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComposeableAdapterFactory getRootAdapterFactory() {
return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
}
/**
* This sets the composed adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
this.parentAdapterFactory = parentAdapterFactory;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean isFactoryForType(Object type) {
return supportedTypes.contains(type) || super.isFactoryForType(type);
}
/**
* This implementation substitutes the factory itself as the key for the adapter.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter adapt(Notifier notifier, Object type) {
return super.adapt(notifier, this);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object adapt(Object object, Object type) {
if (isFactoryForType(type)) {
Object adapter = super.adapt(object, type);
if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
return adapter;
}
}
return null;
}
/**
* This adds a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void addListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.addListener(notifyChangedListener);
}
/**
* This removes a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void removeListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.removeListener(notifyChangedListener);
}
/**
* This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void fireNotifyChanged(Notification notification) {
changeNotifier.fireNotifyChanged(notification);
if (parentAdapterFactory != null) {
parentAdapterFactory.fireNotifyChanged(notification);
}
}
/**
* This disposes all of the item providers created by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void dispose() {
if (mavoModelItemProvider != null) mavoModelItemProvider.dispose();
if (mavoModelElementItemProvider != null) mavoModelElementItemProvider.dispose();
if (mavoModelRelItemProvider != null) mavoModelRelItemProvider.dispose();
if (binaryMAVOModelRelItemProvider != null) binaryMAVOModelRelItemProvider.dispose();
if (mavoModelEndpointItemProvider != null) mavoModelEndpointItemProvider.dispose();
if (mavoMappingItemProvider != null) mavoMappingItemProvider.dispose();
if (binaryMAVOMappingItemProvider != null) binaryMAVOMappingItemProvider.dispose();
if (mavoModelElementReferenceItemProvider != null) mavoModelElementReferenceItemProvider.dispose();
if (mavoModelEndpointReferenceItemProvider != null) mavoModelEndpointReferenceItemProvider.dispose();
if (mavoMappingReferenceItemProvider != null) mavoMappingReferenceItemProvider.dispose();
if (binaryMAVOMappingReferenceItemProvider != null) binaryMAVOMappingReferenceItemProvider.dispose();
}
/**
* A child creation extender for the {@link MIDPackage}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static class MIDChildCreationExtender implements IChildCreationExtender {
/**
* The switch for creating child descriptors specific to each extended class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected static class CreationSwitch extends MIDSwitch<Object> {
/**
* The child descriptors being populated.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected List<Object> newChildDescriptors;
/**
* The domain in which to create the children.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EditingDomain editingDomain;
/**
* Creates the a switch for populating child descriptors in the given domain.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
CreationSwitch(List<Object> newChildDescriptors, EditingDomain editingDomain) {
this.newChildDescriptors = newChildDescriptors;
this.editingDomain = editingDomain;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object caseMID(MID object) {
newChildDescriptors.add
(createChildParameter
(MIDPackage.Literals.MID__MODELS,
MAVOMIDFactory.eINSTANCE.createMAVOModel()));
newChildDescriptors.add
(createChildParameter
(MIDPackage.Literals.MID__MODELS,
MAVOMIDFactory.eINSTANCE.createMAVOModelRel()));
newChildDescriptors.add
(createChildParameter
(MIDPackage.Literals.MID__MODELS,
MAVOMIDFactory.eINSTANCE.createBinaryMAVOModelRel()));
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object caseModel(Model object) {
newChildDescriptors.add
(createChildParameter
(MIDPackage.Literals.MODEL__MODEL_ELEMS,
MAVOMIDFactory.eINSTANCE.createMAVOModelElement()));
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected CommandParameter createChildParameter(Object feature, Object child) {
return new CommandParameter(null, feature, child);
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Collection<Object> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
ArrayList<Object> result = new ArrayList<Object>();
new CreationSwitch(result, editingDomain).doSwitch((EObject)object);
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ResourceLocator getResourceLocator() {
return MAVOMIDEditPlugin.INSTANCE;
}
}
/**
* A child creation extender for the {@link RelationshipPackage}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static class RelationshipChildCreationExtender implements IChildCreationExtender {
/**
* The switch for creating child descriptors specific to each extended class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected static class CreationSwitch extends RelationshipSwitch<Object> {
/**
* The child descriptors being populated.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected List<Object> newChildDescriptors;
/**
* The domain in which to create the children.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EditingDomain editingDomain;
/**
* Creates the a switch for populating child descriptors in the given domain.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
CreationSwitch(List<Object> newChildDescriptors, EditingDomain editingDomain) {
this.newChildDescriptors = newChildDescriptors;
this.editingDomain = editingDomain;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object caseModelRel(ModelRel object) {
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.MODEL_REL__MODEL_ENDPOINTS,
MAVOMIDFactory.eINSTANCE.createMAVOModelEndpoint()));
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.MODEL_REL__MAPPINGS,
MAVOMIDFactory.eINSTANCE.createMAVOMapping()));
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.MODEL_REL__MAPPINGS,
MAVOMIDFactory.eINSTANCE.createBinaryMAVOMapping()));
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.MODEL_REL__MODEL_ENDPOINT_REFS,
MAVOMIDFactory.eINSTANCE.createMAVOModelEndpointReference()));
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.MODEL_REL__MAPPING_REFS,
MAVOMIDFactory.eINSTANCE.createMAVOMappingReference()));
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.MODEL_REL__MAPPING_REFS,
MAVOMIDFactory.eINSTANCE.createBinaryMAVOMappingReference()));
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object caseExtendibleElementReference(ExtendibleElementReference object) {
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.EXTENDIBLE_ELEMENT_REFERENCE__CONTAINED_OBJECT,
MAVOMIDFactory.eINSTANCE.createMAVOModel()));
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.EXTENDIBLE_ELEMENT_REFERENCE__CONTAINED_OBJECT,
MAVOMIDFactory.eINSTANCE.createMAVOModelElement()));
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.EXTENDIBLE_ELEMENT_REFERENCE__CONTAINED_OBJECT,
MAVOMIDFactory.eINSTANCE.createMAVOModelRel()));
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.EXTENDIBLE_ELEMENT_REFERENCE__CONTAINED_OBJECT,
MAVOMIDFactory.eINSTANCE.createBinaryMAVOModelRel()));
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.EXTENDIBLE_ELEMENT_REFERENCE__CONTAINED_OBJECT,
MAVOMIDFactory.eINSTANCE.createMAVOModelEndpoint()));
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.EXTENDIBLE_ELEMENT_REFERENCE__CONTAINED_OBJECT,
MAVOMIDFactory.eINSTANCE.createMAVOMapping()));
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.EXTENDIBLE_ELEMENT_REFERENCE__CONTAINED_OBJECT,
MAVOMIDFactory.eINSTANCE.createBinaryMAVOMapping()));
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object caseModelEndpointReference(ModelEndpointReference object) {
newChildDescriptors.add
(createChildParameter
(RelationshipPackage.Literals.MODEL_ENDPOINT_REFERENCE__MODEL_ELEM_REFS,
MAVOMIDFactory.eINSTANCE.createMAVOModelElementReference()));
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected CommandParameter createChildParameter(Object feature, Object child) {
return new CommandParameter(null, feature, child);
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Collection<Object> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
ArrayList<Object> result = new ArrayList<Object>();
new CreationSwitch(result, editingDomain).doSwitch((EObject)object);
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ResourceLocator getResourceLocator() {
return MAVOMIDEditPlugin.INSTANCE;
}
}
/**
* A child creation extender for the {@link OperatorPackage}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static class OperatorChildCreationExtender implements IChildCreationExtender {
/**
* The switch for creating child descriptors specific to each extended class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected static class CreationSwitch extends OperatorSwitch<Object> {
/**
* The child descriptors being populated.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected List<Object> newChildDescriptors;
/**
* The domain in which to create the children.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EditingDomain editingDomain;
/**
* Creates the a switch for populating child descriptors in the given domain.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
CreationSwitch(List<Object> newChildDescriptors, EditingDomain editingDomain) {
this.newChildDescriptors = newChildDescriptors;
this.editingDomain = editingDomain;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object caseOperator(Operator object) {
newChildDescriptors.add
(createChildParameter
(OperatorPackage.Literals.OPERATOR__INPUTS,
MAVOMIDFactory.eINSTANCE.createMAVOModelEndpoint()));
newChildDescriptors.add
(createChildParameter
(OperatorPackage.Literals.OPERATOR__OUTPUTS,
MAVOMIDFactory.eINSTANCE.createMAVOModelEndpoint()));
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected CommandParameter createChildParameter(Object feature, Object child) {
return new CommandParameter(null, feature, child);
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Collection<Object> getNewChildDescriptors(Object object, EditingDomain editingDomain) {
ArrayList<Object> result = new ArrayList<Object>();
new CreationSwitch(result, editingDomain).doSwitch((EObject)object);
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ResourceLocator getResourceLocator() {
return MAVOMIDEditPlugin.INSTANCE;
}
}
}