org.eclipse.emf.edit.provider
Class ReflectiveItemProviderAdapterFactory

java.lang.Object
  extended byorg.eclipse.emf.common.notify.impl.AdapterFactoryImpl
      extended byorg.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory
All Implemented Interfaces:
AdapterFactory, ComposeableAdapterFactory, IChangeNotifier

public class ReflectiveItemProviderAdapterFactory
extends AdapterFactoryImpl
implements ComposeableAdapterFactory, IChangeNotifier

This is the factory that is used to provide the interfaces needed to support Viewers reflectively.


Field Summary
protected  IChangeNotifier changeNotifier
          This is used to implement IChangeNotifier.
protected  ComposedAdapterFactory parentAdapterFactory
          This keeps track of the root adapter factory that delegates to this adapter factory.
protected  ReflectiveItemProvider reflectiveItemProviderAdapter
          The singleton reflective instance.
protected  Collection supportedTypes
          This keeps track of all the supported types checked by isFactoryForType.
 
Constructor Summary
ReflectiveItemProviderAdapterFactory()
          This constructs an instance.
 
Method Summary
 Adapter adapt(Notifier notifier, Object type)
          This implementation substitutes the factory itself as the key for the adapter.
 Object adapt(Object object, Object type)
          Returns either an associated adapter for the object, or the object itself, depending on whether the object is a notifier that supports an adapter of the given type.
 void addListener(INotifyChangedListener notifyChangedListener)
          This adds a listener.
 Adapter createAdapter(Notifier target)
          Creates an AdapterImpl.
 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(Object type)
          Returns whether this factory is applicable for the type of the object.
 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.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 Collection supportedTypes
This keeps track of all the supported types checked by isFactoryForType.


reflectiveItemProviderAdapter

protected ReflectiveItemProvider reflectiveItemProviderAdapter
The singleton reflective instance.

Constructor Detail

ReflectiveItemProviderAdapterFactory

public ReflectiveItemProviderAdapterFactory()
This constructs an instance.

Method Detail

createAdapter

public Adapter createAdapter(Notifier target)
Description copied from class: AdapterFactoryImpl
Creates an AdapterImpl.

Overrides:
createAdapter in class AdapterFactoryImpl
Parameters:
target - the notifier to adapt.
Returns:
a new adapter.
See Also:
AdapterFactoryImpl.createAdapter(Notifier)

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(Object type)
Returns whether this factory is applicable for the type of the object.

Specified by:
isFactoryForType in interface AdapterFactory
Overrides:
isFactoryForType in class AdapterFactoryImpl
Parameters:
type - the key indicating the type of adapter in question.
Returns:
whether this factory is applicable for the type of the object.

adapt

public Adapter adapt(Notifier notifier,
                     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

adapt

public Object adapt(Object object,
                    Object type)
Description copied from interface: AdapterFactory
Returns either an associated adapter for the object, or the object itself, depending on whether the object is a notifier that supports an adapter of the given type. This is essentially just a convenience method that allows a factory to act as a filter for converting objects to adapters.

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

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