diff options
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.lm.modules.edit/src/org/eclipse')
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(); + } + } +} |