blob: 8a10008e350e79bfaed6ceaebf1221a447b10082 [file] [log] [blame]
package org.eclipse.stem.diseasemodels.standard.provider;
/*******************************************************************************
* Copyright (c) 2006 IBM Corporation 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:
* IBM Corporation - initial API and implementation
*******************************************************************************/
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.stem.diseasemodels.standard.util.StandardAdapterFactory;
/**
* 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 StandardItemProviderAdapterFactory extends StandardAdapterFactory
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 StandardItemProviderAdapterFactory() {
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.stem.diseasemodels.standard.SEIRLabel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected SEIRLabelItemProvider seirLabelItemProvider;
/**
* This creates an adapter for a
* {@link org.eclipse.stem.diseasemodels.standard.SEIRLabel}. <!--
* begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createSEIRLabelAdapter() {
if (seirLabelItemProvider == null) {
seirLabelItemProvider = new SEIRLabelItemProvider(this);
}
return seirLabelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.SEIRLabelValue} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected SEIRLabelValueItemProvider seirLabelValueItemProvider;
/**
* This creates an adapter for a
* {@link org.eclipse.stem.diseasemodels.standard.SEIRLabelValue}. <!--
* begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createSEIRLabelValueAdapter() {
if (seirLabelValueItemProvider == null) {
seirLabelValueItemProvider = new SEIRLabelValueItemProvider(this);
}
return seirLabelValueItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.SIRLabel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected SIRLabelItemProvider sirLabelItemProvider;
/**
* This creates an adapter for a
* {@link org.eclipse.stem.diseasemodels.standard.SIRLabel}. <!--
* begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createSIRLabelAdapter() {
if (sirLabelItemProvider == null) {
sirLabelItemProvider = new SIRLabelItemProvider(this);
}
return sirLabelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.SIRLabelValue} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected SIRLabelValueItemProvider sirLabelValueItemProvider;
/**
* This creates an adapter for a
* {@link org.eclipse.stem.diseasemodels.standard.SIRLabelValue}. <!--
* begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createSIRLabelValueAdapter() {
if (sirLabelValueItemProvider == null) {
sirLabelValueItemProvider = new SIRLabelValueItemProvider(this);
}
return sirLabelValueItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.StochasticSEIRDiseaseModel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected StochasticSEIRDiseaseModelItemProvider stochasticSEIRDiseaseModelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.StochasticSEIRDiseaseModel}.
* <!-- begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createStochasticSEIRDiseaseModelAdapter() {
if (stochasticSEIRDiseaseModelItemProvider == null) {
stochasticSEIRDiseaseModelItemProvider = new StochasticSEIRDiseaseModelItemProvider(this);
}
return stochasticSEIRDiseaseModelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.DeterministicSEIRDiseaseModel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected DeterministicSEIRDiseaseModelItemProvider deterministicSEIRDiseaseModelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.DeterministicSEIRDiseaseModel}.
* <!-- begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createDeterministicSEIRDiseaseModelAdapter() {
if (deterministicSEIRDiseaseModelItemProvider == null) {
deterministicSEIRDiseaseModelItemProvider = new DeterministicSEIRDiseaseModelItemProvider(this);
}
return deterministicSEIRDiseaseModelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.SILabel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected SILabelItemProvider siLabelItemProvider;
/**
* This creates an adapter for a
* {@link org.eclipse.stem.diseasemodels.standard.SILabel}. <!--
* begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createSILabelAdapter() {
if (siLabelItemProvider == null) {
siLabelItemProvider = new SILabelItemProvider(this);
}
return siLabelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.SILabelValue} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected SILabelValueItemProvider siLabelValueItemProvider;
/**
* This creates an adapter for a
* {@link org.eclipse.stem.diseasemodels.standard.SILabelValue}. <!--
* begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createSILabelValueAdapter() {
if (siLabelValueItemProvider == null) {
siLabelValueItemProvider = new SILabelValueItemProvider(this);
}
return siLabelValueItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.SIInfector} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected SIInfectorItemProvider siInfectorItemProvider;
/**
* This creates an adapter for a
* {@link org.eclipse.stem.diseasemodels.standard.SIInfector}. <!--
* begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createSIInfectorAdapter() {
if (siInfectorItemProvider == null) {
siInfectorItemProvider = new SIInfectorItemProvider(this);
}
return siInfectorItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.DeterministicSIRDiseaseModel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected DeterministicSIRDiseaseModelItemProvider deterministicSIRDiseaseModelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.DeterministicSIRDiseaseModel}.
* <!-- begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createDeterministicSIRDiseaseModelAdapter() {
if (deterministicSIRDiseaseModelItemProvider == null) {
deterministicSIRDiseaseModelItemProvider = new DeterministicSIRDiseaseModelItemProvider(this);
}
return deterministicSIRDiseaseModelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.DeterministicSIDiseaseModel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected DeterministicSIDiseaseModelItemProvider deterministicSIDiseaseModelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.DeterministicSIDiseaseModel}.
* <!-- begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createDeterministicSIDiseaseModelAdapter() {
if (deterministicSIDiseaseModelItemProvider == null) {
deterministicSIDiseaseModelItemProvider = new DeterministicSIDiseaseModelItemProvider(this);
}
return deterministicSIDiseaseModelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.StochasticSIRDiseaseModel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected StochasticSIRDiseaseModelItemProvider stochasticSIRDiseaseModelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.StochasticSIRDiseaseModel}.
* <!-- begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createStochasticSIRDiseaseModelAdapter() {
if (stochasticSIRDiseaseModelItemProvider == null) {
stochasticSIRDiseaseModelItemProvider = new StochasticSIRDiseaseModelItemProvider(this);
}
return stochasticSIRDiseaseModelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.SIRInoculator} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected SIRInoculatorItemProvider sirInoculatorItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.SIRInoculator}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createSIRInoculatorAdapter() {
if (sirInoculatorItemProvider == null) {
sirInoculatorItemProvider = new SIRInoculatorItemProvider(this);
}
return sirInoculatorItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.StochasticPoissonSIDiseaseModel} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected StochasticPoissonSIDiseaseModelItemProvider stochasticPoissonSIDiseaseModelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.StochasticPoissonSIDiseaseModel}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createStochasticPoissonSIDiseaseModelAdapter() {
if (stochasticPoissonSIDiseaseModelItemProvider == null) {
stochasticPoissonSIDiseaseModelItemProvider = new StochasticPoissonSIDiseaseModelItemProvider(this);
}
return stochasticPoissonSIDiseaseModelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.StochasticPoissonSIRDiseaseModel} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected StochasticPoissonSIRDiseaseModelItemProvider stochasticPoissonSIRDiseaseModelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.StochasticPoissonSIRDiseaseModel}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createStochasticPoissonSIRDiseaseModelAdapter() {
if (stochasticPoissonSIRDiseaseModelItemProvider == null) {
stochasticPoissonSIRDiseaseModelItemProvider = new StochasticPoissonSIRDiseaseModelItemProvider(this);
}
return stochasticPoissonSIRDiseaseModelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.StochasticPoissonSEIRDiseaseModel} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected StochasticPoissonSEIRDiseaseModelItemProvider stochasticPoissonSEIRDiseaseModelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.StochasticPoissonSEIRDiseaseModel}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createStochasticPoissonSEIRDiseaseModelAdapter() {
if (stochasticPoissonSEIRDiseaseModelItemProvider == null) {
stochasticPoissonSEIRDiseaseModelItemProvider = new StochasticPoissonSEIRDiseaseModelItemProvider(this);
}
return stochasticPoissonSEIRDiseaseModelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.InfectorInoculatorCollection} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected InfectorInoculatorCollectionItemProvider infectorInoculatorCollectionItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.InfectorInoculatorCollection}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createInfectorInoculatorCollectionAdapter() {
if (infectorInoculatorCollectionItemProvider == null) {
infectorInoculatorCollectionItemProvider = new InfectorInoculatorCollectionItemProvider(this);
}
return infectorInoculatorCollectionItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.Initializer} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected InitializerItemProvider initializerItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.Initializer}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createInitializerAdapter() {
if (initializerItemProvider == null) {
initializerItemProvider = new InitializerItemProvider(this);
}
return initializerItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.diseasemodels.standard.StochasticSIDiseaseModel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected StochasticSIDiseaseModelItemProvider stochasticSIDiseaseModelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.diseasemodels.standard.StochasticSIDiseaseModel}.
* <!-- begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createStochasticSIDiseaseModelAdapter() {
if (stochasticSIDiseaseModelItemProvider == null) {
stochasticSIDiseaseModelItemProvider = new StochasticSIDiseaseModelItemProvider(this);
}
return stochasticSIDiseaseModelItemProvider;
}
/**
* This returns the root adapter factory that contains this factory. <!--
* begin-user-doc -->
*
* @return
*
* <!-- 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 -->
*
* @param parentAdapterFactory
*
* <!-- end-user-doc -->
* @generated
*/
public void setParentAdapterFactory(
ComposedAdapterFactory parentAdapterFactory) {
this.parentAdapterFactory = parentAdapterFactory;
}
/**
* <!-- begin-user-doc -->
*
* @param type
* @return
*
* <!-- 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 -->
*
* @param notifier
* @param type
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter adapt(Notifier notifier, Object type) {
return super.adapt(notifier, this);
}
/**
* <!-- begin-user-doc -->
*
* @param object
* @param type
* @return
*
* <!-- 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 -->
*
* @param notifyChangedListener
*
* <!-- end-user-doc -->
* @generated
*/
public void addListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.addListener(notifyChangedListener);
}
/**
* This removes a listener.
* <!-- begin-user-doc -->
*
* @param notifyChangedListener
*
* <!-- end-user-doc -->
* @generated
*/
public void removeListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.removeListener(notifyChangedListener);
}
/**
* This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
* <!-- begin-user-doc -->
*
* @param notification
*
* <!-- 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 (deterministicSEIRDiseaseModelItemProvider != null) deterministicSEIRDiseaseModelItemProvider.dispose();
if (deterministicSIDiseaseModelItemProvider != null) deterministicSIDiseaseModelItemProvider.dispose();
if (deterministicSIRDiseaseModelItemProvider != null) deterministicSIRDiseaseModelItemProvider.dispose();
if (seirLabelItemProvider != null) seirLabelItemProvider.dispose();
if (seirLabelValueItemProvider != null) seirLabelValueItemProvider.dispose();
if (siInfectorItemProvider != null) siInfectorItemProvider.dispose();
if (siLabelItemProvider != null) siLabelItemProvider.dispose();
if (siLabelValueItemProvider != null) siLabelValueItemProvider.dispose();
if (sirLabelItemProvider != null) sirLabelItemProvider.dispose();
if (sirLabelValueItemProvider != null) sirLabelValueItemProvider.dispose();
if (stochasticSEIRDiseaseModelItemProvider != null) stochasticSEIRDiseaseModelItemProvider.dispose();
if (stochasticSIDiseaseModelItemProvider != null) stochasticSIDiseaseModelItemProvider.dispose();
if (stochasticSIRDiseaseModelItemProvider != null) stochasticSIRDiseaseModelItemProvider.dispose();
if (sirInoculatorItemProvider != null) sirInoculatorItemProvider.dispose();
if (stochasticPoissonSIDiseaseModelItemProvider != null) stochasticPoissonSIDiseaseModelItemProvider.dispose();
if (stochasticPoissonSIRDiseaseModelItemProvider != null) stochasticPoissonSIRDiseaseModelItemProvider.dispose();
if (stochasticPoissonSEIRDiseaseModelItemProvider != null) stochasticPoissonSEIRDiseaseModelItemProvider.dispose();
if (infectorInoculatorCollectionItemProvider != null) infectorInoculatorCollectionItemProvider.dispose();
if (initializerItemProvider != null) initializerItemProvider.dispose();
}
}