Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse')
-rw-r--r--plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/DependencyDefinitionItemProvider.java263
-rw-r--r--plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModuleDefinitionItemProvider.java227
-rw-r--r--plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModulesEditPlugin.java97
-rw-r--r--plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModulesItemProviderAdapterFactory.java253
4 files changed, 840 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/DependencyDefinitionItemProvider.java b/plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/DependencyDefinitionItemProvider.java
new file mode 100644
index 0000000000..3e73da9d1c
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/DependencyDefinitionItemProvider.java
@@ -0,0 +1,263 @@
+/*
+ * Copyright (c) 2022 Eike Stepper (Loehne, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.lm.modules.provider;
+
+import org.eclipse.emf.cdo.etypes.provider.ModelElementItemProvider;
+import org.eclipse.emf.cdo.lm.modules.DependencyDefinition;
+import org.eclipse.emf.cdo.lm.modules.ModulesPackage;
+
+import org.eclipse.net4j.util.container.IPluginContainer;
+import org.eclipse.net4j.util.factory.ProductCreationException;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.equinox.p2.metadata.VersionRange;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.emf.cdo.lm.modules.DependencyDefinition} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DependencyDefinitionItemProvider extends ModelElementItemProvider
+{
+ private static final TargetNameProvider TARGET_NAME_PROVIDER = initTargetNameProvider();
+
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public DependencyDefinitionItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addTargetNamePropertyDescriptor(object);
+ addVersionRangePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Target Name feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ protected void addTargetNamePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(new ItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_DependencyDefinition_targetName_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DependencyDefinition_targetName_feature", "_UI_DependencyDefinition_type"),
+ ModulesPackage.Literals.DEPENDENCY_DEFINITION__TARGET_NAME, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null, null)
+ {
+
+ @Override
+ public Collection<?> getChoiceOfValues(Object object)
+ {
+ return TARGET_NAME_PROVIDER.getTargetNames((DependencyDefinition)object);
+ }
+ });
+ }
+
+ /**
+ * This adds a property descriptor for the Version Range feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected void addVersionRangePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_DependencyDefinition_versionRange_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_DependencyDefinition_versionRange_feature", "_UI_DependencyDefinition_type"),
+ ModulesPackage.Literals.DEPENDENCY_DEFINITION__VERSION_RANGE, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This returns DependencyDefinition.gif.
+ * <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/DependencyDefinition"));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public String getText(Object object)
+ {
+ DependencyDefinition dependencyDefinition = (DependencyDefinition)object;
+
+ String label = dependencyDefinition.getTargetName();
+ if (label != null)
+ {
+ VersionRange versionRange = dependencyDefinition.getVersionRange();
+ if (versionRange != null)
+ {
+ label += " " + versionRange;
+ }
+ }
+
+ return label == null || label.length() == 0 ? getString("_UI_DependencyDefinition_type") : getString("_UI_DependencyDefinition_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DependencyDefinition.class))
+ {
+ case ModulesPackage.DEPENDENCY_DEFINITION__TARGET_NAME:
+ case ModulesPackage.DEPENDENCY_DEFINITION__VERSION_RANGE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ModulesEditPlugin.INSTANCE;
+ }
+
+ private static TargetNameProvider initTargetNameProvider()
+ {
+ List<TargetNameProvider> providers = new ArrayList<>();
+
+ IPluginContainer.INSTANCE.forEachElement(TargetNameProvider.Factory.PRODUCT_GROUP, TargetNameProvider.class, provider -> {
+ if (provider != null)
+ {
+ providers.add(provider);
+ }
+ });
+
+ return new TargetNameProvider()
+ {
+ @Override
+ public Collection<String> getTargetNames(DependencyDefinition dependency)
+ {
+ for (TargetNameProvider provider : providers)
+ {
+ try
+ {
+ Collection<String> targetNames = provider.getTargetNames(dependency);
+ if (targetNames != null)
+ {
+ return targetNames;
+ }
+ }
+ catch (Exception ex)
+ {
+ ModulesEditPlugin.INSTANCE.log(ex);
+ }
+ }
+
+ return null;
+ }
+ };
+ }
+
+ /**
+ * @author Eike Stepper
+ */
+ public interface TargetNameProvider
+ {
+ public Collection<String> getTargetNames(DependencyDefinition dependency);
+
+ /**
+ * @author Eike Stepper
+ */
+ public static abstract class Factory extends org.eclipse.net4j.util.factory.Factory
+ {
+ public static final String PRODUCT_GROUP = "org.eclipse.emf.cdo.lm.modules.targetNameProviders";
+
+ public Factory(String type)
+ {
+ super(PRODUCT_GROUP, type);
+ }
+
+ @Override
+ public abstract TargetNameProvider create(String description) throws ProductCreationException;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModuleDefinitionItemProvider.java b/plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModuleDefinitionItemProvider.java
new file mode 100644
index 0000000000..86f0d06406
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModuleDefinitionItemProvider.java
@@ -0,0 +1,227 @@
+/*
+ * Copyright (c) 2022 Eike Stepper (Loehne, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.lm.modules.provider;
+
+import org.eclipse.emf.cdo.etypes.provider.ModelElementItemProvider;
+import org.eclipse.emf.cdo.lm.modules.ModuleDefinition;
+import org.eclipse.emf.cdo.lm.modules.ModulesFactory;
+import org.eclipse.emf.cdo.lm.modules.ModulesPackage;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.equinox.p2.metadata.Version;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a
+ * {@link org.eclipse.emf.cdo.lm.modules.ModuleDefinition} object. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ModuleDefinitionItemProvider extends ModelElementItemProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public ModuleDefinitionItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ addNamePropertyDescriptor(object);
+ addVersionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ModuleDefinition_name_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ModuleDefinition_name_feature", "_UI_ModuleDefinition_type"),
+ ModulesPackage.Literals.MODULE_DEFINITION__NAME, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This adds a property descriptor for the Version feature.
+ * <!-- begin-user-doc
+ * --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVersionPropertyDescriptor(Object object)
+ {
+ itemPropertyDescriptors.add(createItemPropertyDescriptor(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
+ getString("_UI_ModuleDefinition_version_feature"),
+ getString("_UI_PropertyDescriptor_description", "_UI_ModuleDefinition_version_feature", "_UI_ModuleDefinition_type"),
+ ModulesPackage.Literals.MODULE_DEFINITION__VERSION, true, false, false, ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
+ {
+ if (childrenFeatures == null)
+ {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ModulesPackage.Literals.MODULE_DEFINITION__DEPENDENCIES);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child)
+ {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * This returns ModuleDefinition.gif. <!-- begin-user-doc --> <!-- end-user-doc
+ * -->
+ *
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ModuleDefinition"));
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ @Override
+ public String getText(Object object)
+ {
+ ModuleDefinition moduleDefinition = (ModuleDefinition)object;
+
+ String label = moduleDefinition.getName();
+ if (label != null)
+ {
+ Version version = moduleDefinition.getVersion();
+ if (version != null)
+ {
+ label += " " + version;
+ }
+ }
+
+ return label == null || label.length() == 0 ? getString("_UI_ModuleDefinition_type") : getString("_UI_ModuleDefinition_type") + " " + label;
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ModuleDefinition.class))
+ {
+ case ModulesPackage.MODULE_DEFINITION__NAME:
+ case ModulesPackage.MODULE_DEFINITION__VERSION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ case ModulesPackage.MODULE_DEFINITION__DEPENDENCIES:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors
+ .add(createChildParameter(ModulesPackage.Literals.MODULE_DEFINITION__DEPENDENCIES, ModulesFactory.eINSTANCE.createDependencyDefinition()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ModulesEditPlugin.INSTANCE;
+ }
+}
diff --git a/plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModulesEditPlugin.java b/plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModulesEditPlugin.java
new file mode 100644
index 0000000000..0059bc4122
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModulesEditPlugin.java
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2022 Eike Stepper (Loehne, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.lm.modules.provider;
+
+import org.eclipse.emf.cdo.edit.CDOEditPlugin;
+
+import org.eclipse.emf.common.EMFPlugin;
+import org.eclipse.emf.common.util.ResourceLocator;
+
+/**
+ * This is the central singleton for the Modules edit plugin. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public final class ModulesEditPlugin extends EMFPlugin
+{
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public static final ModulesEditPlugin INSTANCE = new ModulesEditPlugin();
+
+ /**
+ * 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 ModulesEditPlugin()
+ {
+ super(new ResourceLocator[] { CDOEditPlugin.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.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModulesItemProviderAdapterFactory.java b/plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModulesItemProviderAdapterFactory.java
new file mode 100644
index 0000000000..0e9cbeaac3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse/emf/cdo/lm/modules/provider/ModulesItemProviderAdapterFactory.java
@@ -0,0 +1,253 @@
+/*
+ * Copyright (c) 2022 Eike Stepper (Loehne, Germany) 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:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.lm.modules.provider;
+
+import org.eclipse.emf.cdo.lm.modules.util.ModulesAdapterFactory;
+
+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 java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ * 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 ModulesItemProviderAdapterFactory extends ModulesAdapterFactory 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<>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ public ModulesItemProviderAdapterFactory()
+ {
+ 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.eclipse.emf.cdo.lm.modules.ModuleDefinition} instances. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected ModuleDefinitionItemProvider moduleDefinitionItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.emf.cdo.lm.modules.ModuleDefinition}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createModuleDefinitionAdapter()
+ {
+ if (moduleDefinitionItemProvider == null)
+ {
+ moduleDefinitionItemProvider = new ModuleDefinitionItemProvider(this);
+ }
+
+ return moduleDefinitionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.lm.modules.DependencyDefinition} instances.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ protected DependencyDefinitionItemProvider dependencyDefinitionItemProvider;
+
+ /**
+ * This creates an adapter for a
+ * {@link org.eclipse.emf.cdo.lm.modules.DependencyDefinition}. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Adapter createDependencyDefinitionAdapter()
+ {
+ if (dependencyDefinitionItemProvider == null)
+ {
+ dependencyDefinitionItemProvider = new DependencyDefinitionItemProvider(this);
+ }
+
+ return dependencyDefinitionItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ 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
+ */
+ @Override
+ 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
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener)
+ {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener)
+ {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ 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
+ */
+ @Override
+ public void dispose()
+ {
+ if (moduleDefinitionItemProvider != null)
+ {
+ moduleDefinitionItemProvider.dispose();
+ }
+ if (dependencyDefinitionItemProvider != null)
+ {
+ dependencyDefinitionItemProvider.dispose();
+ }
+ }
+}

Back to the top