|
@@ -0,0 +1,371 @@
|
|
|
+/**
|
|
|
+ * <copyright>
|
|
|
+ * </copyright>
|
|
|
+ *
|
|
|
+ * $Id$
|
|
|
+ */
|
|
|
+package org.yakindu.sct.model.sgen.provider;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Collection;
|
|
|
+
|
|
|
+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.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.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;
|
|
|
+
|
|
|
+import org.yakindu.sct.model.sgen.util.SGenAdapterFactory;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 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 SGenItemProviderAdapterFactory extends SGenAdapterFactory 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 SGenItemProviderAdapterFactory() {
|
|
|
+ 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 org.yakindu.sct.model.sgen.GeneratorModel} instances.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ protected GeneratorModelItemProvider generatorModelItemProvider;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This creates an adapter for a {@link org.yakindu.sct.model.sgen.GeneratorModel}.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Adapter createGeneratorModelAdapter() {
|
|
|
+ if (generatorModelItemProvider == null) {
|
|
|
+ generatorModelItemProvider = new GeneratorModelItemProvider(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return generatorModelItemProvider;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.GeneratorConfiguration} instances.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ protected GeneratorConfigurationItemProvider generatorConfigurationItemProvider;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This creates an adapter for a {@link org.yakindu.sct.model.sgen.GeneratorConfiguration}.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Adapter createGeneratorConfigurationAdapter() {
|
|
|
+ if (generatorConfigurationItemProvider == null) {
|
|
|
+ generatorConfigurationItemProvider = new GeneratorConfigurationItemProvider(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return generatorConfigurationItemProvider;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.FeatureType} instances.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ protected FeatureTypeItemProvider featureTypeItemProvider;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This creates an adapter for a {@link org.yakindu.sct.model.sgen.FeatureType}.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Adapter createFeatureTypeAdapter() {
|
|
|
+ if (featureTypeItemProvider == null) {
|
|
|
+ featureTypeItemProvider = new FeatureTypeItemProvider(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return featureTypeItemProvider;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.FeatureParameter} instances.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ protected FeatureParameterItemProvider featureParameterItemProvider;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This creates an adapter for a {@link org.yakindu.sct.model.sgen.FeatureParameter}.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Adapter createFeatureParameterAdapter() {
|
|
|
+ if (featureParameterItemProvider == null) {
|
|
|
+ featureParameterItemProvider = new FeatureParameterItemProvider(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return featureParameterItemProvider;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.FeatureConfiguration} instances.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ protected FeatureConfigurationItemProvider featureConfigurationItemProvider;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This creates an adapter for a {@link org.yakindu.sct.model.sgen.FeatureConfiguration}.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Adapter createFeatureConfigurationAdapter() {
|
|
|
+ if (featureConfigurationItemProvider == null) {
|
|
|
+ featureConfigurationItemProvider = new FeatureConfigurationItemProvider(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return featureConfigurationItemProvider;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.GeneratorEntry} instances.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ protected GeneratorEntryItemProvider generatorEntryItemProvider;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This creates an adapter for a {@link org.yakindu.sct.model.sgen.GeneratorEntry}.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Adapter createGeneratorEntryAdapter() {
|
|
|
+ if (generatorEntryItemProvider == null) {
|
|
|
+ generatorEntryItemProvider = new GeneratorEntryItemProvider(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return generatorEntryItemProvider;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.FeatureParameterValue} instances.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ protected FeatureParameterValueItemProvider featureParameterValueItemProvider;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This creates an adapter for a {@link org.yakindu.sct.model.sgen.FeatureParameterValue}.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Adapter createFeatureParameterValueAdapter() {
|
|
|
+ if (featureParameterValueItemProvider == null) {
|
|
|
+ featureParameterValueItemProvider = new FeatureParameterValueItemProvider(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return featureParameterValueItemProvider;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sgen.FeatureTypeLibrary} instances.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ protected FeatureTypeLibraryItemProvider featureTypeLibraryItemProvider;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * This creates an adapter for a {@link org.yakindu.sct.model.sgen.FeatureTypeLibrary}.
|
|
|
+ * <!-- begin-user-doc -->
|
|
|
+ * <!-- end-user-doc -->
|
|
|
+ * @generated
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Adapter createFeatureTypeLibraryAdapter() {
|
|
|
+ if (featureTypeLibraryItemProvider == null) {
|
|
|
+ featureTypeLibraryItemProvider = new FeatureTypeLibraryItemProvider(this);
|
|
|
+ }
|
|
|
+
|
|
|
+ return featureTypeLibraryItemProvider;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 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 (generatorModelItemProvider != null) generatorModelItemProvider.dispose();
|
|
|
+ if (generatorConfigurationItemProvider != null) generatorConfigurationItemProvider.dispose();
|
|
|
+ if (featureTypeItemProvider != null) featureTypeItemProvider.dispose();
|
|
|
+ if (featureParameterItemProvider != null) featureParameterItemProvider.dispose();
|
|
|
+ if (featureConfigurationItemProvider != null) featureConfigurationItemProvider.dispose();
|
|
|
+ if (generatorEntryItemProvider != null) generatorEntryItemProvider.dispose();
|
|
|
+ if (featureParameterValueItemProvider != null) featureParameterValueItemProvider.dispose();
|
|
|
+ if (featureTypeLibraryItemProvider != null) featureTypeLibraryItemProvider.dispose();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|