/**
* <copyright>
* Copyright (c) 2008 Open Canarias 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:
* A. Sanchez-Barbudo - initial API and implementation
*
* </copyright>
*
* $Id: QVTOperationalItemProviderAdapterFactory.java,v 1.3 2009/02/20 11:04:16 radvorak Exp $
*/
package org.eclipse.m2m.qvt.oml.ecore.QVTOperational.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.eclipse.m2m.qvt.oml.ecore.QVTOperational.util.QVTOperationalAdapterFactory;
/**
* 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 QVTOperationalItemProviderAdapterFactory extends QVTOperationalAdapterFactory 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 QVTOperationalItemProviderAdapterFactory() {
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.m2m.qvt.oml.ecore.QVTOperational.Constructor} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ConstructorItemProvider constructorItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.Constructor}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createConstructorAdapter() {
if (constructorItemProvider == null) {
constructorItemProvider = new ConstructorItemProvider(this);
}
return constructorItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ConstructorBody} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ConstructorBodyItemProvider constructorBodyItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ConstructorBody}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createConstructorBodyAdapter() {
if (constructorBodyItemProvider == null) {
constructorBodyItemProvider = new ConstructorBodyItemProvider(this);
}
return constructorBodyItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ContextualProperty} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ContextualPropertyItemProvider contextualPropertyItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ContextualProperty}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createContextualPropertyAdapter() {
if (contextualPropertyItemProvider == null) {
contextualPropertyItemProvider = new ContextualPropertyItemProvider(this);
}
return contextualPropertyItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.EntryOperation} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EntryOperationItemProvider entryOperationItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.EntryOperation}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createEntryOperationAdapter() {
if (entryOperationItemProvider == null) {
entryOperationItemProvider = new EntryOperationItemProvider(this);
}
return entryOperationItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.Helper} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected HelperItemProvider helperItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.Helper}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createHelperAdapter() {
if (helperItemProvider == null) {
helperItemProvider = new HelperItemProvider(this);
}
return helperItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ImperativeCallExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ImperativeCallExpItemProvider imperativeCallExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ImperativeCallExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createImperativeCallExpAdapter() {
if (imperativeCallExpItemProvider == null) {
imperativeCallExpItemProvider = new ImperativeCallExpItemProvider(this);
}
return imperativeCallExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ImperativeOperation} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ImperativeOperationItemProvider imperativeOperationItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ImperativeOperation}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createImperativeOperationAdapter() {
if (imperativeOperationItemProvider == null) {
imperativeOperationItemProvider = new ImperativeOperationItemProvider(this);
}
return imperativeOperationItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.Library} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected LibraryItemProvider libraryItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.Library}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createLibraryAdapter() {
if (libraryItemProvider == null) {
libraryItemProvider = new LibraryItemProvider(this);
}
return libraryItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingBody} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MappingBodyItemProvider mappingBodyItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingBody}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMappingBodyAdapter() {
if (mappingBodyItemProvider == null) {
mappingBodyItemProvider = new MappingBodyItemProvider(this);
}
return mappingBodyItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingCallExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MappingCallExpItemProvider mappingCallExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingCallExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMappingCallExpAdapter() {
if (mappingCallExpItemProvider == null) {
mappingCallExpItemProvider = new MappingCallExpItemProvider(this);
}
return mappingCallExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingOperation} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MappingOperationItemProvider mappingOperationItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingOperation}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMappingOperationAdapter() {
if (mappingOperationItemProvider == null) {
mappingOperationItemProvider = new MappingOperationItemProvider(this);
}
return mappingOperationItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingParameter} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MappingParameterItemProvider mappingParameterItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.MappingParameter}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMappingParameterAdapter() {
if (mappingParameterItemProvider == null) {
mappingParameterItemProvider = new MappingParameterItemProvider(this);
}
return mappingParameterItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ModelParameter} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ModelParameterItemProvider modelParameterItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ModelParameter}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createModelParameterAdapter() {
if (modelParameterItemProvider == null) {
modelParameterItemProvider = new ModelParameterItemProvider(this);
}
return modelParameterItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ModelType} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ModelTypeItemProvider modelTypeItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ModelType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createModelTypeAdapter() {
if (modelTypeItemProvider == null) {
modelTypeItemProvider = new ModelTypeItemProvider(this);
}
return modelTypeItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.Module} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ModuleItemProvider moduleItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.Module}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createModuleAdapter() {
if (moduleItemProvider == null) {
moduleItemProvider = new ModuleItemProvider(this);
}
return moduleItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ModuleImport} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ModuleImportItemProvider moduleImportItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ModuleImport}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createModuleImportAdapter() {
if (moduleImportItemProvider == null) {
moduleImportItemProvider = new ModuleImportItemProvider(this);
}
return moduleImportItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ObjectExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ObjectExpItemProvider objectExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ObjectExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createObjectExpAdapter() {
if (objectExpItemProvider == null) {
objectExpItemProvider = new ObjectExpItemProvider(this);
}
return objectExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.OperationBody} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OperationBodyItemProvider operationBodyItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.OperationBody}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOperationBodyAdapter() {
if (operationBodyItemProvider == null) {
operationBodyItemProvider = new OperationBodyItemProvider(this);
}
return operationBodyItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.OperationalTransformation} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OperationalTransformationItemProvider operationalTransformationItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.OperationalTransformation}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOperationalTransformationAdapter() {
if (operationalTransformationItemProvider == null) {
operationalTransformationItemProvider = new OperationalTransformationItemProvider(this);
}
return operationalTransformationItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ResolveExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ResolveExpItemProvider resolveExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ResolveExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createResolveExpAdapter() {
if (resolveExpItemProvider == null) {
resolveExpItemProvider = new ResolveExpItemProvider(this);
}
return resolveExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ResolveInExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ResolveInExpItemProvider resolveInExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.ResolveInExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createResolveInExpAdapter() {
if (resolveInExpItemProvider == null) {
resolveInExpItemProvider = new ResolveInExpItemProvider(this);
}
return resolveInExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.VarParameter} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected VarParameterItemProvider varParameterItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.m2m.qvt.oml.ecore.QVTOperational.VarParameter}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createVarParameterAdapter() {
if (varParameterItemProvider == null) {
varParameterItemProvider = new VarParameterItemProvider(this);
}
return varParameterItemProvider;
}
/**
* 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 (constructorItemProvider != null) constructorItemProvider.dispose();
if (constructorBodyItemProvider != null) constructorBodyItemProvider.dispose();
if (contextualPropertyItemProvider != null) contextualPropertyItemProvider.dispose();
if (entryOperationItemProvider != null) entryOperationItemProvider.dispose();
if (helperItemProvider != null) helperItemProvider.dispose();
if (imperativeCallExpItemProvider != null) imperativeCallExpItemProvider.dispose();
if (imperativeOperationItemProvider != null) imperativeOperationItemProvider.dispose();
if (libraryItemProvider != null) libraryItemProvider.dispose();
if (mappingBodyItemProvider != null) mappingBodyItemProvider.dispose();
if (mappingCallExpItemProvider != null) mappingCallExpItemProvider.dispose();
if (mappingOperationItemProvider != null) mappingOperationItemProvider.dispose();
if (mappingParameterItemProvider != null) mappingParameterItemProvider.dispose();
if (modelParameterItemProvider != null) modelParameterItemProvider.dispose();
if (modelTypeItemProvider != null) modelTypeItemProvider.dispose();
if (moduleItemProvider != null) moduleItemProvider.dispose();
if (moduleImportItemProvider != null) moduleImportItemProvider.dispose();
if (objectExpItemProvider != null) objectExpItemProvider.dispose();
if (operationBodyItemProvider != null) operationBodyItemProvider.dispose();
if (operationalTransformationItemProvider != null) operationalTransformationItemProvider.dispose();
if (resolveExpItemProvider != null) resolveExpItemProvider.dispose();
if (resolveInExpItemProvider != null) resolveInExpItemProvider.dispose();
if (varParameterItemProvider != null) varParameterItemProvider.dispose();
}
}