## org.eclipse.emf.edit.provider
Class ReflectiveItemProviderAdapterFactory

    java.lang.Object
      org.eclipse.emf.common.notify.impl.AdapterFactoryImpl
          org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory

All Implemented Interfaces:
  AdapterFactory, ComposeableAdapterFactory, IChangeNotifier, IDisposable

    public class ReflectiveItemProviderAdapterFactory

extends AdapterFactoryImpl
implements ComposeableAdapterFactory, IChangeNotifier, IDisposable

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 java.util.Collection<java.lang.Object>` `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, 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.
`void` `addListener(INotifyChangedListener notifyChangedListener)` This adds a listener.
`Adapter` `createAdapter(Notifier target)` Creates an `AdapterImpl`.
`void` `dispose()` This is called to dispose the object.
`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)` 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 java.util.Collection<java.lang.Object> 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(java.lang.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.
  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)`

### 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()

  Description copied from interface: `IDisposable`
  This is called to dispose the object.

  Specified by:
    `dispose` in interface `IDisposable`

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