blob: 073ee060523f714d5edfa2f0dfc98826b55ca694 [file] [log] [blame]
package org.eclipse.stem.definitions.labels.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.definitions.labels.util.LabelsAdapterFactory;
/**
* 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 LabelsItemProviderAdapterFactory extends LabelsAdapterFactory
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 LabelsItemProviderAdapterFactory() {
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.definitions.labels.PopulationLabel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected PopulationLabelItemProvider populationLabelItemProvider;
/**
* This creates an adapter for a
* {@link org.eclipse.stem.definitions.labels.PopulationLabel}. <!--
* begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createPopulationLabelAdapter() {
if (populationLabelItemProvider == null) {
populationLabelItemProvider = new PopulationLabelItemProvider(this);
}
return populationLabelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.PopulationLabelValue} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected PopulationLabelValueItemProvider populationLabelValueItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.PopulationLabelValue}.
* <!-- begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createPopulationLabelValueAdapter() {
if (populationLabelValueItemProvider == null) {
populationLabelValueItemProvider = new PopulationLabelValueItemProvider(this);
}
return populationLabelValueItemProvider;
}
/**
* This keeps track of the one adapter used for all
* {@link org.eclipse.stem.definitions.labels.AreaLabel} instances. <!--
* begin-user-doc --> <!-- end-user-doc -->
*
* @generated
*/
protected AreaLabelItemProvider areaLabelItemProvider;
/**
* This creates an adapter for a
* {@link org.eclipse.stem.definitions.labels.AreaLabel}. <!--
* begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createAreaLabelAdapter() {
if (areaLabelItemProvider == null) {
areaLabelItemProvider = new AreaLabelItemProvider(this);
}
return areaLabelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.AreaLabelValue} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected AreaLabelValueItemProvider areaLabelValueItemProvider;
/**
* This creates an adapter for a
* {@link org.eclipse.stem.definitions.labels.AreaLabelValue}. <!--
* begin-user-doc -->
*
* @return
*
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createAreaLabelValueAdapter() {
if (areaLabelValueItemProvider == null) {
areaLabelValueItemProvider = new AreaLabelValueItemProvider(this);
}
return areaLabelValueItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.RelativePhysicalRelationshipLabel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected RelativePhysicalRelationshipLabelItemProvider relativePhysicalRelationshipLabelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.RelativePhysicalRelationshipLabel}.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createRelativePhysicalRelationshipLabelAdapter() {
if (relativePhysicalRelationshipLabelItemProvider == null) {
relativePhysicalRelationshipLabelItemProvider = new RelativePhysicalRelationshipLabelItemProvider(this);
}
return relativePhysicalRelationshipLabelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.RelativePhysicalRelationshipLabelValue} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected RelativePhysicalRelationshipLabelValueItemProvider relativePhysicalRelationshipLabelValueItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.RelativePhysicalRelationshipLabelValue}.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createRelativePhysicalRelationshipLabelValueAdapter() {
if (relativePhysicalRelationshipLabelValueItemProvider == null) {
relativePhysicalRelationshipLabelValueItemProvider = new RelativePhysicalRelationshipLabelValueItemProvider(this);
}
return relativePhysicalRelationshipLabelValueItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.CommonBorderRelationshipLabel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected CommonBorderRelationshipLabelItemProvider commonBorderRelationshipLabelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.CommonBorderRelationshipLabel}.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createCommonBorderRelationshipLabelAdapter() {
if (commonBorderRelationshipLabelItemProvider == null) {
commonBorderRelationshipLabelItemProvider = new CommonBorderRelationshipLabelItemProvider(this);
}
return commonBorderRelationshipLabelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.CommonBorderRelationshipLabelValue} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected CommonBorderRelationshipLabelValueItemProvider commonBorderRelationshipLabelValueItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.CommonBorderRelationshipLabelValue}.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createCommonBorderRelationshipLabelValueAdapter() {
if (commonBorderRelationshipLabelValueItemProvider == null) {
commonBorderRelationshipLabelValueItemProvider = new CommonBorderRelationshipLabelValueItemProvider(this);
}
return commonBorderRelationshipLabelValueItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.TransportRelationshipLabel} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected TransportRelationshipLabelItemProvider transportRelationshipLabelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.TransportRelationshipLabel}.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createTransportRelationshipLabelAdapter() {
if (transportRelationshipLabelItemProvider == null) {
transportRelationshipLabelItemProvider = new TransportRelationshipLabelItemProvider(this);
}
return transportRelationshipLabelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.TransportRelationshipLabelValue} instances.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
protected TransportRelationshipLabelValueItemProvider transportRelationshipLabelValueItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.TransportRelationshipLabelValue}.
* <!-- begin-user-doc --> <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createTransportRelationshipLabelValueAdapter() {
if (transportRelationshipLabelValueItemProvider == null) {
transportRelationshipLabelValueItemProvider = new TransportRelationshipLabelValueItemProvider(this);
}
return transportRelationshipLabelValueItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.PhysicalRelationshipLabelValue} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected PhysicalRelationshipLabelValueItemProvider physicalRelationshipLabelValueItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.PhysicalRelationshipLabelValue}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createPhysicalRelationshipLabelValueAdapter() {
if (physicalRelationshipLabelValueItemProvider == null) {
physicalRelationshipLabelValueItemProvider = new PhysicalRelationshipLabelValueItemProvider(this);
}
return physicalRelationshipLabelValueItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.RoadTransportRelationshipLabel} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RoadTransportRelationshipLabelItemProvider roadTransportRelationshipLabelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.RoadTransportRelationshipLabel}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createRoadTransportRelationshipLabelAdapter() {
if (roadTransportRelationshipLabelItemProvider == null) {
roadTransportRelationshipLabelItemProvider = new RoadTransportRelationshipLabelItemProvider(this);
}
return roadTransportRelationshipLabelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.RoadTransportRelationshipLabelValue} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RoadTransportRelationshipLabelValueItemProvider roadTransportRelationshipLabelValueItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.RoadTransportRelationshipLabelValue}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createRoadTransportRelationshipLabelValueAdapter() {
if (roadTransportRelationshipLabelValueItemProvider == null) {
roadTransportRelationshipLabelValueItemProvider = new RoadTransportRelationshipLabelValueItemProvider(this);
}
return roadTransportRelationshipLabelValueItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.EarthScienceLabel} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EarthScienceLabelItemProvider earthScienceLabelItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.EarthScienceLabel}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createEarthScienceLabelAdapter() {
if (earthScienceLabelItemProvider == null) {
earthScienceLabelItemProvider = new EarthScienceLabelItemProvider(this);
}
return earthScienceLabelItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.stem.definitions.labels.EarthScienceLabelValue} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EarthScienceLabelValueItemProvider earthScienceLabelValueItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.stem.definitions.labels.EarthScienceLabelValue}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createEarthScienceLabelValueAdapter() {
if (earthScienceLabelValueItemProvider == null) {
earthScienceLabelValueItemProvider = new EarthScienceLabelValueItemProvider(this);
}
return earthScienceLabelValueItemProvider;
}
/**
* 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 (areaLabelItemProvider != null) areaLabelItemProvider.dispose();
if (areaLabelValueItemProvider != null) areaLabelValueItemProvider.dispose();
if (commonBorderRelationshipLabelItemProvider != null) commonBorderRelationshipLabelItemProvider.dispose();
if (commonBorderRelationshipLabelValueItemProvider != null) commonBorderRelationshipLabelValueItemProvider.dispose();
if (populationLabelItemProvider != null) populationLabelItemProvider.dispose();
if (populationLabelValueItemProvider != null) populationLabelValueItemProvider.dispose();
if (relativePhysicalRelationshipLabelItemProvider != null) relativePhysicalRelationshipLabelItemProvider.dispose();
if (relativePhysicalRelationshipLabelValueItemProvider != null) relativePhysicalRelationshipLabelValueItemProvider.dispose();
if (transportRelationshipLabelItemProvider != null) transportRelationshipLabelItemProvider.dispose();
if (transportRelationshipLabelValueItemProvider != null) transportRelationshipLabelValueItemProvider.dispose();
if (physicalRelationshipLabelValueItemProvider != null) physicalRelationshipLabelValueItemProvider.dispose();
if (roadTransportRelationshipLabelItemProvider != null) roadTransportRelationshipLabelItemProvider.dispose();
if (roadTransportRelationshipLabelValueItemProvider != null) roadTransportRelationshipLabelValueItemProvider.dispose();
if (earthScienceLabelItemProvider != null) earthScienceLabelItemProvider.dispose();
if (earthScienceLabelValueItemProvider != null) earthScienceLabelValueItemProvider.dispose();
}
}