/************************************************************************** * ERA - Eclipse Requirements Analysis * ============================================== * Copyright (C) 2009-2013 by Georg Blaschke, Christoph P. Neumann * and Bernd Haberstumpf (http://era.origo.ethz.ch) ************************************************************************** * Licensed under the Eclipse Public License - v 1.0 (the "License"); * you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.eclipse.org/org/documents/epl-v10.html * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ************************************************************************** */ package era.foss.erf.provider; import era.foss.erf.util.ErfAdapterFactory; 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; /** * 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 ErfItemProviderAdapterFactory extends ErfAdapterFactory 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 ErfItemProviderAdapterFactory() { 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 era.foss.erf.SpecObject} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected SpecObjectItemProvider specObjectItemProvider; /** * This creates an adapter for a {@link era.foss.erf.SpecObject}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createSpecObjectAdapter() { if( specObjectItemProvider == null ) { specObjectItemProvider = new SpecObjectItemProvider( this ); } return specObjectItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.SpecType} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected SpecTypeItemProvider specTypeItemProvider; /** * This creates an adapter for a {@link era.foss.erf.SpecType}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createSpecTypeAdapter() { if( specTypeItemProvider == null ) { specTypeItemProvider = new SpecTypeItemProvider( this ); } return specTypeItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.AttributeValueSimple} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected AttributeValueSimpleItemProvider attributeValueSimpleItemProvider; /** * This creates an adapter for a {@link era.foss.erf.AttributeValueSimple}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createAttributeValueSimpleAdapter() { if( attributeValueSimpleItemProvider == null ) { attributeValueSimpleItemProvider = new AttributeValueSimpleItemProvider( this ); } return attributeValueSimpleItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.DatatypeDefinitionInteger} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected DatatypeDefinitionIntegerItemProvider datatypeDefinitionIntegerItemProvider; /** * This creates an adapter for a {@link era.foss.erf.DatatypeDefinitionInteger}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createDatatypeDefinitionIntegerAdapter() { if( datatypeDefinitionIntegerItemProvider == null ) { datatypeDefinitionIntegerItemProvider = new DatatypeDefinitionIntegerItemProvider( this ); } return datatypeDefinitionIntegerItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.DatatypeDefinitionString} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected DatatypeDefinitionStringItemProvider datatypeDefinitionStringItemProvider; /** * This creates an adapter for a {@link era.foss.erf.DatatypeDefinitionString}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createDatatypeDefinitionStringAdapter() { if( datatypeDefinitionStringItemProvider == null ) { datatypeDefinitionStringItemProvider = new DatatypeDefinitionStringItemProvider( this ); } return datatypeDefinitionStringItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.AttributeDefinitionSimple} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected AttributeDefinitionSimpleItemProvider attributeDefinitionSimpleItemProvider; /** * This creates an adapter for a {@link era.foss.erf.AttributeDefinitionSimple}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createAttributeDefinitionSimpleAdapter() { if( attributeDefinitionSimpleItemProvider == null ) { attributeDefinitionSimpleItemProvider = new AttributeDefinitionSimpleItemProvider( this ); } return attributeDefinitionSimpleItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.ERF} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ERFItemProvider erfItemProvider; /** * This creates an adapter for a {@link era.foss.erf.ERF}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createERFAdapter() { if( erfItemProvider == null ) { erfItemProvider = new ERFItemProvider( this ); } return erfItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.Content} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ContentItemProvider contentItemProvider; /** * This creates an adapter for a {@link era.foss.erf.Content}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createContentAdapter() { if( contentItemProvider == null ) { contentItemProvider = new ContentItemProvider( this ); } return contentItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.SpecRelation} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected SpecRelationItemProvider specRelationItemProvider; /** * This creates an adapter for a {@link era.foss.erf.SpecRelation}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createSpecRelationAdapter() { if( specRelationItemProvider == null ) { specRelationItemProvider = new SpecRelationItemProvider( this ); } return specRelationItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.EmbeddedValue} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected EmbeddedValueItemProvider embeddedValueItemProvider; /** * This creates an adapter for a {@link era.foss.erf.EmbeddedValue}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createEmbeddedValueAdapter() { if( embeddedValueItemProvider == null ) { embeddedValueItemProvider = new EmbeddedValueItemProvider( this ); } return embeddedValueItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.EnumValue} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected EnumValueItemProvider enumValueItemProvider; /** * This creates an adapter for a {@link era.foss.erf.EnumValue}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createEnumValueAdapter() { if( enumValueItemProvider == null ) { enumValueItemProvider = new EnumValueItemProvider( this ); } return enumValueItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.DatatypeDefinitionEnumeration} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected DatatypeDefinitionEnumerationItemProvider datatypeDefinitionEnumerationItemProvider; /** * This creates an adapter for a {@link era.foss.erf.DatatypeDefinitionEnumeration}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createDatatypeDefinitionEnumerationAdapter() { if( datatypeDefinitionEnumerationItemProvider == null ) { datatypeDefinitionEnumerationItemProvider = new DatatypeDefinitionEnumerationItemProvider( this ); } return datatypeDefinitionEnumerationItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.AttributeDefinitionEnumeration} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected AttributeDefinitionEnumerationItemProvider attributeDefinitionEnumerationItemProvider; /** * This creates an adapter for a {@link era.foss.erf.AttributeDefinitionEnumeration}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createAttributeDefinitionEnumerationAdapter() { if( attributeDefinitionEnumerationItemProvider == null ) { attributeDefinitionEnumerationItemProvider = new AttributeDefinitionEnumerationItemProvider( this ); } return attributeDefinitionEnumerationItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.AttributeValueEnumeration} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected AttributeValueEnumerationItemProvider attributeValueEnumerationItemProvider; /** * This creates an adapter for a {@link era.foss.erf.AttributeValueEnumeration}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createAttributeValueEnumerationAdapter() { if( attributeValueEnumerationItemProvider == null ) { attributeValueEnumerationItemProvider = new AttributeValueEnumerationItemProvider( this ); } return attributeValueEnumerationItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.DatatypeDefinitionBoolean} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected DatatypeDefinitionBooleanItemProvider datatypeDefinitionBooleanItemProvider; /** * This creates an adapter for a {@link era.foss.erf.DatatypeDefinitionBoolean}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createDatatypeDefinitionBooleanAdapter() { if( datatypeDefinitionBooleanItemProvider == null ) { datatypeDefinitionBooleanItemProvider = new DatatypeDefinitionBooleanItemProvider( this ); } return datatypeDefinitionBooleanItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.AttributeDefinitionBoolean} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected AttributeDefinitionBooleanItemProvider attributeDefinitionBooleanItemProvider; /** * This creates an adapter for a {@link era.foss.erf.AttributeDefinitionBoolean}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createAttributeDefinitionBooleanAdapter() { if( attributeDefinitionBooleanItemProvider == null ) { attributeDefinitionBooleanItemProvider = new AttributeDefinitionBooleanItemProvider( this ); } return attributeDefinitionBooleanItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.AttributeValueBoolean} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected AttributeValueBooleanItemProvider attributeValueBooleanItemProvider; /** * This creates an adapter for a {@link era.foss.erf.AttributeValueBoolean}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createAttributeValueBooleanAdapter() { if( attributeValueBooleanItemProvider == null ) { attributeValueBooleanItemProvider = new AttributeValueBooleanItemProvider( this ); } return attributeValueBooleanItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.View} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ViewItemProvider viewItemProvider; /** * This creates an adapter for a {@link era.foss.erf.View}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createViewAdapter() { if( viewItemProvider == null ) { viewItemProvider = new ViewItemProvider( this ); } return viewItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.ViewElement} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ViewElementItemProvider viewElementItemProvider; /** * This creates an adapter for a {@link era.foss.erf.ViewElement}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createViewElementAdapter() { if( viewElementItemProvider == null ) { viewElementItemProvider = new ViewElementItemProvider( this ); } return viewElementItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.EraToolExtension} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected EraToolExtensionItemProvider eraToolExtensionItemProvider; /** * This creates an adapter for a {@link era.foss.erf.EraToolExtension}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createEraToolExtensionAdapter() { if( eraToolExtensionItemProvider == null ) { eraToolExtensionItemProvider = new EraToolExtensionItemProvider( this ); } return eraToolExtensionItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.Color} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ColorItemProvider colorItemProvider; /** * This creates an adapter for a {@link era.foss.erf.Color}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createColorAdapter() { if( colorItemProvider == null ) { colorItemProvider = new ColorItemProvider( this ); } return colorItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.SpecHierarchy} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected SpecHierarchyItemProvider specHierarchyItemProvider; /** * This creates an adapter for a {@link era.foss.erf.SpecHierarchy}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createSpecHierarchyAdapter() { if( specHierarchyItemProvider == null ) { specHierarchyItemProvider = new SpecHierarchyItemProvider( this ); } return specHierarchyItemProvider; } /** * This keeps track of the one adapter used for all {@link era.foss.erf.Specification} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected SpecificationItemProvider specificationItemProvider; /** * This creates an adapter for a {@link era.foss.erf.Specification}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createSpecificationAdapter() { if( specificationItemProvider == null ) { specificationItemProvider = new SpecificationItemProvider( this ); } return specificationItemProvider; } /** * 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( specObjectItemProvider != null ) specObjectItemProvider.dispose(); if( specTypeItemProvider != null ) specTypeItemProvider.dispose(); if( attributeValueSimpleItemProvider != null ) attributeValueSimpleItemProvider.dispose(); if( datatypeDefinitionIntegerItemProvider != null ) datatypeDefinitionIntegerItemProvider.dispose(); if( datatypeDefinitionStringItemProvider != null ) datatypeDefinitionStringItemProvider.dispose(); if( attributeDefinitionSimpleItemProvider != null ) attributeDefinitionSimpleItemProvider.dispose(); if( erfItemProvider != null ) erfItemProvider.dispose(); if( contentItemProvider != null ) contentItemProvider.dispose(); if( specRelationItemProvider != null ) specRelationItemProvider.dispose(); if( embeddedValueItemProvider != null ) embeddedValueItemProvider.dispose(); if( enumValueItemProvider != null ) enumValueItemProvider.dispose(); if( datatypeDefinitionEnumerationItemProvider != null ) datatypeDefinitionEnumerationItemProvider.dispose(); if( attributeDefinitionEnumerationItemProvider != null ) attributeDefinitionEnumerationItemProvider.dispose(); if( attributeValueEnumerationItemProvider != null ) attributeValueEnumerationItemProvider.dispose(); if( datatypeDefinitionBooleanItemProvider != null ) datatypeDefinitionBooleanItemProvider.dispose(); if( attributeDefinitionBooleanItemProvider != null ) attributeDefinitionBooleanItemProvider.dispose(); if( attributeValueBooleanItemProvider != null ) attributeValueBooleanItemProvider.dispose(); if( viewItemProvider != null ) viewItemProvider.dispose(); if( viewElementItemProvider != null ) viewElementItemProvider.dispose(); if( eraToolExtensionItemProvider != null ) eraToolExtensionItemProvider.dispose(); if( colorItemProvider != null ) colorItemProvider.dispose(); if( specHierarchyItemProvider != null ) specHierarchyItemProvider.dispose(); if( specificationItemProvider != null ) specificationItemProvider.dispose(); } }