org.eclipse.emf.edit.tree.provider
Class TreeItemProviderAdapterFactory

java.lang.Object
  extended by org.eclipse.emf.common.notify.impl.AdapterFactoryImpl
      extended by org.eclipse.emf.edit.tree.util.TreeAdapterFactory
          extended by org.eclipse.emf.edit.tree.provider.TreeItemProviderAdapterFactory
All Implemented Interfaces:
AdapterFactory, ComposeableAdapterFactory, IChangeNotifier, IDisposable

public class TreeItemProviderAdapterFactory
extends TreeAdapterFactory
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 property sheets. Note that most of the adapters are shared among multiple instances.


Field Summary
protected  IChangeNotifier changeNotifier
          This is used to implement IChangeNotifier.
protected  Disposable disposable
          This is used to implement IDisposable.
protected  ComposedAdapterFactory parentAdapterFactory
          This keeps track of the root adapter factory that delegates to this adapter factory.
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.edit.tree.util.TreeAdapterFactory
modelPackage, modelSwitch
 
Constructor Summary
TreeItemProviderAdapterFactory()
          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)
          Returns either the result of calling adapt(Notifier, Object) or the result of calling resolve(Object, Object), depending on whether the target is a notifier.
 Adapter adaptNew(Notifier object, java.lang.Object type)
          This records adapters for subsequent disposable.
 void addListener(INotifyChangedListener notifyChangedListener)
          This adds a listener.
 Adapter createTreeNodeAdapter()
          This creates an adapter for a TreeNode.
 void dispose()
          This disposes all the disposables.
 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)
          This also check if the type is one of the supported types.
 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.edit.tree.util.TreeAdapterFactory
createAdapter, createEObjectAdapter
 
Methods inherited from class org.eclipse.emf.common.notify.impl.AdapterFactoryImpl
adaptAllNew, 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
 

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.


disposable

protected Disposable disposable
This is used to implement IDisposable.


supportedTypes

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

Constructor Detail

TreeItemProviderAdapterFactory

public TreeItemProviderAdapterFactory()
This constructs an instance.

Method Detail

createTreeNodeAdapter

public Adapter createTreeNodeAdapter()
This creates an adapter for a TreeNode.

Overrides:
createTreeNodeAdapter in class TreeAdapterFactory
Returns:
the new adapter.
See Also:
TreeNode

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)
This also check if the type is one of the supported types.

Specified by:
isFactoryForType in interface AdapterFactory
Overrides:
isFactoryForType in class TreeAdapterFactory
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:
a previously existing associated adapter, a new associated adapter if possible, or null otherwise.
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)
Description copied from class: AdapterFactoryImpl
Returns either the result of calling adapt(Notifier, Object) or the result of calling resolve(Object, Object), depending on whether the target is a notifier.

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)

adaptNew

public Adapter adaptNew(Notifier object,
                        java.lang.Object type)
This records adapters for subsequent disposable.

Specified by:
adaptNew in interface AdapterFactory
Overrides:
adaptNew in class AdapterFactoryImpl
Parameters:
object - the notifier to adapt.
type - the key indicating the type of adapter required.
Returns:
a new associated adapter.
See Also:
AdapterFactoryImpl.createAdapter(Notifier, Object), AdapterFactoryImpl.associate(Adapter, Notifier)

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 the disposables.

Specified by:
dispose in interface IDisposable

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