/** */ package com.github.lbroudoux.dsl.eip.provider; import com.github.lbroudoux.dsl.eip.util.EipAdapterFactory; 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 EipItemProviderAdapterFactory extends EipAdapterFactory 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 EipItemProviderAdapterFactory() { 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 com.github.lbroudoux.dsl.eip.Channel} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ChannelItemProvider channelItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Channel}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createChannelAdapter() { if (channelItemProvider == null) { channelItemProvider = new ChannelItemProvider(this); } return channelItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.Adapter} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected AdapterItemProvider adapterItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Adapter}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createAdapterAdapter() { if (adapterItemProvider == null) { adapterItemProvider = new AdapterItemProvider(this); } return adapterItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.Router} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected RouterItemProvider routerItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Router}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createRouterAdapter() { if (routerItemProvider == null) { routerItemProvider = new RouterItemProvider(this); } return routerItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.Filter} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected FilterItemProvider filterItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Filter}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createFilterAdapter() { if (filterItemProvider == null) { filterItemProvider = new FilterItemProvider(this); } return filterItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.Transformer} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected TransformerItemProvider transformerItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Transformer}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createTransformerAdapter() { if (transformerItemProvider == null) { transformerItemProvider = new TransformerItemProvider(this); } return transformerItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.Gateway} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected GatewayItemProvider gatewayItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Gateway}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createGatewayAdapter() { if (gatewayItemProvider == null) { gatewayItemProvider = new GatewayItemProvider(this); } return gatewayItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.ConditionalRoute} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ConditionalRouteItemProvider conditionalRouteItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.ConditionalRoute}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createConditionalRouteAdapter() { if (conditionalRouteItemProvider == null) { conditionalRouteItemProvider = new ConditionalRouteItemProvider(this); } return conditionalRouteItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.Splitter} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected SplitterItemProvider splitterItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Splitter}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createSplitterAdapter() { if (splitterItemProvider == null) { splitterItemProvider = new SplitterItemProvider(this); } return splitterItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.Aggregator} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected AggregatorItemProvider aggregatorItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Aggregator}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createAggregatorAdapter() { if (aggregatorItemProvider == null) { aggregatorItemProvider = new AggregatorItemProvider(this); } return aggregatorItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.Route} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected RouteItemProvider routeItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Route}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createRouteAdapter() { if (routeItemProvider == null) { routeItemProvider = new RouteItemProvider(this); } return routeItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.ServiceActivator} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ServiceActivatorItemProvider serviceActivatorItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.ServiceActivator}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createServiceActivatorAdapter() { if (serviceActivatorItemProvider == null) { serviceActivatorItemProvider = new ServiceActivatorItemProvider(this); } return serviceActivatorItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.EIPModel} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected EIPModelItemProvider eipModelItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.EIPModel}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createEIPModelAdapter() { if (eipModelItemProvider == null) { eipModelItemProvider = new EIPModelItemProvider(this); } return eipModelItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.Enricher} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected EnricherItemProvider enricherItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Enricher}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createEnricherAdapter() { if (enricherItemProvider == null) { enricherItemProvider = new EnricherItemProvider(this); } return enricherItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.CompositeProcessor} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected CompositeProcessorItemProvider compositeProcessorItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.CompositeProcessor}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createCompositeProcessorAdapter() { if (compositeProcessorItemProvider == null) { compositeProcessorItemProvider = new CompositeProcessorItemProvider(this); } return compositeProcessorItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.RecipientListRouter} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected RecipientListRouterItemProvider recipientListRouterItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.RecipientListRouter}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createRecipientListRouterAdapter() { if (recipientListRouterItemProvider == null) { recipientListRouterItemProvider = new RecipientListRouterItemProvider(this); } return recipientListRouterItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.ServiceRef} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ServiceRefItemProvider serviceRefItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.ServiceRef}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createServiceRefAdapter() { if (serviceRefItemProvider == null) { serviceRefItemProvider = new ServiceRefItemProvider(this); } return serviceRefItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.ServiceInvocation} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ServiceInvocationItemProvider serviceInvocationItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.ServiceInvocation}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createServiceInvocationAdapter() { if (serviceInvocationItemProvider == null) { serviceInvocationItemProvider = new ServiceInvocationItemProvider(this); } return serviceInvocationItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.InvocableEndpoint} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected InvocableEndpointItemProvider invocableEndpointItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.InvocableEndpoint}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createInvocableEndpointAdapter() { if (invocableEndpointItemProvider == null) { invocableEndpointItemProvider = new InvocableEndpointItemProvider(this); } return invocableEndpointItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.ContentFilter} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ContentFilterItemProvider contentFilterItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.ContentFilter}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createContentFilterAdapter() { if (contentFilterItemProvider == null) { contentFilterItemProvider = new ContentFilterItemProvider(this); } return contentFilterItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.Resequencer} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected ResequencerItemProvider resequencerItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Resequencer}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createResequencerAdapter() { if (resequencerItemProvider == null) { resequencerItemProvider = new ResequencerItemProvider(this); } return resequencerItemProvider; } /** * This keeps track of the one adapter used for all {@link com.github.lbroudoux.dsl.eip.Metadata} instances. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ protected MetadataItemProvider metadataItemProvider; /** * This creates an adapter for a {@link com.github.lbroudoux.dsl.eip.Metadata}. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ @Override public Adapter createMetadataAdapter() { if (metadataItemProvider == null) { metadataItemProvider = new MetadataItemProvider(this); } return metadataItemProvider; } /** * 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 (channelItemProvider != null) channelItemProvider.dispose(); if (adapterItemProvider != null) adapterItemProvider.dispose(); if (routerItemProvider != null) routerItemProvider.dispose(); if (filterItemProvider != null) filterItemProvider.dispose(); if (transformerItemProvider != null) transformerItemProvider.dispose(); if (gatewayItemProvider != null) gatewayItemProvider.dispose(); if (conditionalRouteItemProvider != null) conditionalRouteItemProvider.dispose(); if (splitterItemProvider != null) splitterItemProvider.dispose(); if (aggregatorItemProvider != null) aggregatorItemProvider.dispose(); if (routeItemProvider != null) routeItemProvider.dispose(); if (serviceActivatorItemProvider != null) serviceActivatorItemProvider.dispose(); if (eipModelItemProvider != null) eipModelItemProvider.dispose(); if (enricherItemProvider != null) enricherItemProvider.dispose(); if (compositeProcessorItemProvider != null) compositeProcessorItemProvider.dispose(); if (recipientListRouterItemProvider != null) recipientListRouterItemProvider.dispose(); if (serviceRefItemProvider != null) serviceRefItemProvider.dispose(); if (serviceInvocationItemProvider != null) serviceInvocationItemProvider.dispose(); if (invocableEndpointItemProvider != null) invocableEndpointItemProvider.dispose(); if (contentFilterItemProvider != null) contentFilterItemProvider.dispose(); if (resequencerItemProvider != null) resequencerItemProvider.dispose(); if (metadataItemProvider != null) metadataItemProvider.dispose(); } }