org.eclipse.emf.ecore.change.provider
Class ChangeItemProviderAdapterFactory

java.lang.Object
  extended by org.eclipse.emf.common.notify.impl.AdapterFactoryImpl
      extended by org.eclipse.emf.ecore.change.util.ChangeAdapterFactory
          extended by org.eclipse.emf.ecore.change.provider.ChangeItemProviderAdapterFactory
All Implemented Interfaces:
AdapterFactory, ComposeableAdapterFactory, IChangeNotifier, IDisposable

public class ChangeItemProviderAdapterFactory
extends ChangeAdapterFactory
implements ComposeableAdapterFactory, IChangeNotifier, IDisposable

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 fireNotifyChanged. The adapters also support Eclipse property sheets. Note that most of the adapters are shared among multiple instances.


Field Summary
protected  ChangeDescriptionItemProvider changeDescriptionItemProvider
          This keeps track of the one adapter used for all ChangeDescription instances
protected  IChangeNotifier changeNotifier
          This is used to implement IChangeNotifier
protected  EObjectToChangesMapEntryItemProvider eObjectToChangesMapEntryItemProvider
          This keeps track of the one adapter used for all Map.Entry instances
protected  FeatureChangeItemProvider featureChangeItemProvider
          This keeps track of the one adapter used for all FeatureChange instances
protected  FeatureMapEntryItemProvider featureMapEntryItemProvider
          This keeps track of the one adapter used for all FeatureMapEntry instances
protected  ListChangeItemProvider listChangeItemProvider
          This keeps track of the one adapter used for all ListChange instances
protected  ComposedAdapterFactory parentAdapterFactory
          This keeps track of the root adapter factory that delegates to this adapter factory
protected  ResourceChangeItemProvider resourceChangeItemProvider
          This keeps track of the one adapter used for all ResourceChange instances
protected  java.util.Collection<java.lang.Object> supportedTypes
          This keeps track of all the supported types checked by isFactoryForType
 
Fields inherited from class org.eclipse.emf.ecore.change.util.ChangeAdapterFactory
modelPackage, modelSwitch
 
Constructor Summary
ChangeItemProviderAdapterFactory()
          This constructs an instance
 
Method Summary
 Adapter adapt(Notifier notifier, java.lang.Object type)
          This implementation substitutes the factory itself as the key for the adapter
 java.lang.Object adapt(java.lang.Object object, java.lang.Object type)
           
 void addListener(INotifyChangedListener notifyChangedListener)
          This adds a listener
 Adapter createChangeDescriptionAdapter()
          This creates an adapter for a ChangeDescription
 Adapter createEObjectToChangesMapEntryAdapter()
          This creates an adapter for a Map.Entry
 Adapter createFeatureChangeAdapter()
          This creates an adapter for a FeatureChange
 Adapter createFeatureMapEntryAdapter()
          This creates an adapter for a FeatureMapEntry
 Adapter createListChangeAdapter()
          This creates an adapter for a ListChange
 Adapter createResourceChangeAdapter()
          This creates an adapter for a ResourceChange
 void dispose()
          This disposes all of the item providers created by this factory
 void fireNotifyChanged(Notification notification)
          This delegates to changeNotifier and to parentAdapterFactory
 ComposeableAdapterFactory getRootAdapterFactory()
          This returns the root adapter factory that contains this factory
 boolean isFactoryForType(java.lang.Object type)
           
 void removeListener(INotifyChangedListener notifyChangedListener)
          This removes a listener
 void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)
          This sets the composed adapter factory that contains this factory
 
Methods inherited from class org.eclipse.emf.ecore.change.util.ChangeAdapterFactory
createAdapter, createEObjectAdapter
 
Methods inherited from class org.eclipse.emf.common.notify.impl.AdapterFactoryImpl
adaptAllNew, adaptNew, associate, createAdapter, resolve
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eclipse.emf.common.notify.AdapterFactory
adaptAllNew, adaptNew
 

Field Detail

parentAdapterFactory

protected ComposedAdapterFactory parentAdapterFactory
This keeps track of the root adapter factory that delegates to this adapter factory.


changeNotifier

protected IChangeNotifier changeNotifier
This is used to implement IChangeNotifier.


supportedTypes

protected java.util.Collection<java.lang.Object> supportedTypes
This keeps track of all the supported types checked by isFactoryForType.


changeDescriptionItemProvider

protected ChangeDescriptionItemProvider changeDescriptionItemProvider
This keeps track of the one adapter used for all ChangeDescription instances.


eObjectToChangesMapEntryItemProvider

protected EObjectToChangesMapEntryItemProvider eObjectToChangesMapEntryItemProvider
This keeps track of the one adapter used for all Map.Entry instances.


featureChangeItemProvider

protected FeatureChangeItemProvider featureChangeItemProvider
This keeps track of the one adapter used for all FeatureChange instances.


listChangeItemProvider

protected ListChangeItemProvider listChangeItemProvider
This keeps track of the one adapter used for all ListChange instances.


resourceChangeItemProvider

protected ResourceChangeItemProvider resourceChangeItemProvider
This keeps track of the one adapter used for all ResourceChange instances.


featureMapEntryItemProvider

protected FeatureMapEntryItemProvider featureMapEntryItemProvider
This keeps track of the one adapter used for all FeatureMapEntry instances.

Constructor Detail

ChangeItemProviderAdapterFactory

public ChangeItemProviderAdapterFactory()
This constructs an instance.

Method Detail

createChangeDescriptionAdapter

public Adapter createChangeDescriptionAdapter()
This creates an adapter for a ChangeDescription.

Overrides:
createChangeDescriptionAdapter in class ChangeAdapterFactory
Returns:
the new adapter.
See Also:
ChangeDescription

createEObjectToChangesMapEntryAdapter

public Adapter createEObjectToChangesMapEntryAdapter()
This creates an adapter for a Map.Entry.

Overrides:
createEObjectToChangesMapEntryAdapter in class ChangeAdapterFactory
Returns:
the new adapter.
See Also:
Map.Entry

createFeatureChangeAdapter

public Adapter createFeatureChangeAdapter()
This creates an adapter for a FeatureChange.

Overrides:
createFeatureChangeAdapter in class ChangeAdapterFactory
Returns:
the new adapter.
See Also:
FeatureChange

createListChangeAdapter

public Adapter createListChangeAdapter()
This creates an adapter for a ListChange.

Overrides:
createListChangeAdapter in class ChangeAdapterFactory
Returns:
the new adapter.
See Also:
ListChange

createResourceChangeAdapter

public Adapter createResourceChangeAdapter()
This creates an adapter for a ResourceChange.

Overrides:
createResourceChangeAdapter in class ChangeAdapterFactory
Returns:
the new adapter.
See Also:
ResourceChange

createFeatureMapEntryAdapter

public Adapter createFeatureMapEntryAdapter()
This creates an adapter for a FeatureMapEntry.

Overrides:
createFeatureMapEntryAdapter in class ChangeAdapterFactory
Returns:
the new adapter.
See Also:
FeatureMapEntry

getRootAdapterFactory

public ComposeableAdapterFactory getRootAdapterFactory()
This returns the root adapter factory that contains this factory.

Specified by:
getRootAdapterFactory in interface ComposeableAdapterFactory

setParentAdapterFactory

public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory)
This sets the composed adapter factory that contains this factory.

Specified by:
setParentAdapterFactory in interface ComposeableAdapterFactory

isFactoryForType

public boolean isFactoryForType(java.lang.Object type)

Specified by:
isFactoryForType in interface AdapterFactory
Overrides:
isFactoryForType in class ChangeAdapterFactory
Parameters:
type - the key indicating the type of adapter in question.
Returns:
whether this factory is applicable for the type of the object.
See Also:
Adapter.isAdapterForType(java.lang.Object)

adapt

public Adapter adapt(Notifier notifier,
                     java.lang.Object type)
This implementation substitutes the factory itself as the key for the adapter.

Specified by:
adapt in interface AdapterFactory
Overrides:
adapt in class AdapterFactoryImpl
Parameters:
notifier - the notifier to adapt.
type - the key indicating the type of adapter required.
Returns:
an associated adapter.
See Also:
Adapter.setTarget(org.eclipse.emf.common.notify.Notifier), AdapterFactory.adaptNew(org.eclipse.emf.common.notify.Notifier, java.lang.Object)

adapt

public java.lang.Object adapt(java.lang.Object object,
                              java.lang.Object type)

Specified by:
adapt in interface AdapterFactory
Overrides:
adapt in class AdapterFactoryImpl
Parameters:
object - arbitrary object to adapt.
type - the key indicating the type of adapter required.
Returns:
either an associated adapter or the object itself.
See Also:
AdapterFactoryImpl.adapt(Notifier,Object), AdapterFactoryImpl.resolve(Object, Object)

addListener

public void addListener(INotifyChangedListener notifyChangedListener)
This adds a listener.

Specified by:
addListener in interface IChangeNotifier

removeListener

public void removeListener(INotifyChangedListener notifyChangedListener)
This removes a listener.

Specified by:
removeListener in interface IChangeNotifier

fireNotifyChanged

public void fireNotifyChanged(Notification notification)
This delegates to changeNotifier and to parentAdapterFactory.

Specified by:
fireNotifyChanged in interface IChangeNotifier

dispose

public void dispose()
This disposes all of the item providers created by this factory.

Specified by:
dispose in interface IDisposable

Copyright 2001-2006 IBM Corporation and others.
All Rights Reserved.