## org.eclipse.emf.mapping.provider
Class MappingItemProvider

    java.lang.Object
      org.eclipse.emf.common.notify.impl.AdapterImpl
          org.eclipse.emf.edit.provider.ItemProviderAdapter
              org.eclipse.emf.mapping.provider.MappingItemProviderAdapter
                  org.eclipse.emf.mapping.provider.MappingItemProvider

All Implemented Interfaces:
  Adapter, Adapter.Internal, ResourceLocator, CreateChildCommand.Helper, IChangeNotifier, IDisposable, IEditingDomainItemProvider, IItemLabelProvider, IItemPropertySource, IStructuredItemContentProvider, ITreeItemContentProvider

Direct Known Subclasses:
  MappingRootItemProvider

    public class MappingItemProvider

extends MappingItemProviderAdapter
implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource

This is the item provider adpater for a `Mapping` object.

Nested Class Summary
`static class` `MappingItemProvider.TypeMappingHelperWrapper`

Nested classes/interfaces inherited from class org.eclipse.emf.edit.provider.ItemProviderAdapter
`ItemProviderAdapter.ChildrenStore, ItemProviderAdapter.ModifiableSingletonEList<E>, ItemProviderAdapter.ResultAndAffectedObjectsWrappingCommand, ItemProviderAdapter.ResultAndAffectedObjectsWrappingCommandActionDelegate`

Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter
`Adapter.Internal`

Field Summary
`protected static java.lang.String` `DIVIDER`
`protected java.util.ArrayList<MappedObjectItemProvider>` `mappedObjectItemProviderList`
`protected static java.lang.String` `SEPARATOR`

Fields inherited from class org.eclipse.emf.edit.provider.ItemProviderAdapter
`adapterFactory, changeNotifier, childrenFeatures, childrenReferences, childrenStoreMap, itemPropertyDescriptors, targets, wrappers, wrappingNeeded`

Fields inherited from class org.eclipse.emf.common.notify.impl.AdapterImpl
`target`

Constructor Summary
`MappingItemProvider(AdapterFactory adapterFactory)` This constructs an instance from a factory and a notifier.

Method Summary
`protected Command` `createAddCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, java.util.Collection<?> collection, int index)` This creates a primitive `AddCommand`.
`Command` `createCommand(java.lang.Object object, EditingDomain editingDomain, java.lang.Class<? extends Command> commandClass, CommandParameter commandParameter)` This implements delegated command creation for the given object.
`protected Command` `createMoveCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, EObject value, int index)` This creates a primitive `MoveCommand`.
`protected Command` `createNameMatchMappingCommand(MappingDomain domain, Mapping mapping)` This creates a primitive `NameMatchMappingCommand`.
`protected Command` `createRemoveCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, java.util.Collection<?> collection)` This creates a primitive `RemoveCommand`.
`protected Command` `createSetCommand(EditingDomain domain, EObject owner, EStructuralFeature feature, java.lang.Object value)` This creates a primitive `SetCommand`.
`protected Command` `createTypeMatchMappingCommand(MappingDomain domain, Mapping mapping)` This creates a primitive `TypeMatchMappingCommand`.
`static java.util.Iterator<?>` `createValueIterator(java.lang.Object object)`
`void` `dispose()` This will remove this adapter from all its the targets and dispose any remainging children wrappers in the children store.
`protected Command` `factorAddCommand(EditingDomain domain, CommandParameter commandParameter)` This method factors an `AddCommand` for a collection of objects into one or more primitive add command, i.e., one per unique feature.
`protected EStructuralFeature` `getChildFeature(java.lang.Object object, java.lang.Object child)` This returns the most appropriate feature of the object into which the given child could be added.
`java.util.Collection<?>` `getChildren(java.lang.Object object)` This implements `ITreeItemContentProvider.getChildren`.

`java.util.Collection<? extends EStructuralFeature>`

`getChildrenFeatures(java.lang.Object object)`
This specifies how to implement `getChildren(java.lang.Object)` and is used to deduce an appropriate feature for an `AddCommand`, `RemoveCommand` or `MoveCommand` in `createCommand(java.lang.Object, org.eclipse.emf.edit.domain.EditingDomain, java.lang.Class<? extends org.eclipse.emf.common.command.Command>, org.eclipse.emf.edit.command.CommandParameter)`.

`static java.lang.Object` `getImage(MappingRoot mappingRoot, java.lang.String prefix, java.util.Collection<?> collection)`
`static java.lang.Object` `getImage(MappingRoot mappingRoot, java.lang.String prefix, java.util.Collection<?> collection, boolean supportNone)`
`java.lang.Object` `getImage(java.lang.Object object)` This returns Mapping.gif.
`static java.lang.Object` `getImage(java.lang.String prefix, java.util.Collection<?> tops, java.util.Collection<?> bottoms)`
`static java.lang.Object` `getImage(java.lang.String prefix, java.util.Collection<?> tops, java.util.Collection<?> bottoms, boolean supportNone)`
`static java.lang.Object` `getImage(java.lang.String prefix, int topsSize, int bottomsSize, boolean supportNone)`
`protected MappedObjectItemProvider` `getMappedObjectItemProvider(Mapping mapping, java.lang.Object mappedObject)`
`java.lang.Object` `getParent(java.lang.Object object)` This returns the nestedIn of the Mapping.
`java.util.List<IItemPropertyDescriptor>` `getPropertyDescriptors(java.lang.Object object)` This returns the property descriptors for the adapted class.
`void` `getPropertyDescriptorsForHelper(Mapping mapping)`
`ResourceLocator` `getResourceLocator()` Return the resource locator for this item provider's resources
`EStructuralFeature` `getSetFeature(java.lang.Object object, java.lang.Object value)` This returns the most appropriate feature of the object into which the value be set.
`static java.lang.String` `getText(MappingRoot mappingRoot, AdapterFactory adapterFactory, java.util.Collection<?> collection)`
`static java.lang.String` `getText(MappingRoot mappingRoot, AdapterFactory adapterFactory, java.util.Collection<?> inputs, java.util.Collection<?> outputs)`
`static java.lang.String` `getText(MappingRoot mappingRoot, AdapterFactory adapterFactory, java.util.Collection<?> inputs, java.util.Collection<?> outputs, java.lang.String objectSeparator, java.lang.String divider)`
`static java.lang.String` `getText(MappingRoot mappingRoot, AdapterFactory adapterFactory, java.util.Collection<?> collection, java.lang.String pathSeparator)`
`static java.lang.String` `getText(MappingRoot mappingRoot, AdapterFactory adapterFactory, java.util.Collection<?> collection, java.lang.String pathSeparator, java.lang.String objectSeparator, java.lang.String divider)`
`java.lang.String` `getText(java.lang.Object object)` This implements `IItemLabelProvider.getText` by simply calling toString on the argument.
`boolean` `hasChildren(java.lang.Object object)` This implements `ITreeItemContentProvider.hasChildren` by simply testing whether `getChildren` returns any children.
`void` `notifyChanged(Notification msg)` This handles notification by delegating to `fireNotifyChanged`.
`protected java.lang.Object` `substituteMappedObject(Mapping mapping, java.lang.Object object)`
`protected java.lang.Object` `substituteMappedObjectItemProvider(Mapping mapping, java.lang.Object object)`

Methods inherited from class org.eclipse.emf.edit.provider.ItemProviderAdapter

`addListener, adjustWrapperIndex, adjustWrapperIndices, adjustWrapperIndices, collectNewChildDescriptors, createAddCommand, createChildParameter, createChildrenStore, createCopyCommand, createCreateChildCommand, createCreateChildCommand, createCreateCopyCommand, createDragAndDropCommand, createInitializeCopyCommand, createItemPropertyDescriptor, createItemPropertyDescriptor, createMoveCommand, createMoveCommand, createRemoveCommand, createReplaceCommand, createReplaceCommand, createSetCommand, createWrapper, crop, disposeWrapper, disposeWrappers, factorMoveCommand, factorRemoveCommand, fireNotifyChanged, getAdapterFactory, getBaseURL, getChildReference, getChildrenReferences, getChildrenStore, getCreateChildDescription, getCreateChildImage, getCreateChildResult, getCreateChildText, getCreateChildToolTipText, getEditableValue, getElements, getFeatureText, getFeatureValue, getImage, getNewChildDescriptors, getPropertyDescriptor, getPropertyValue, getReferenceValue, getResourceLocator, getRootAdapterFactory, getSetFeatures, getString, getString, getString, getString, getString, getString, getString, getString, getTypeText, getTypeText, getUpdateableText, getWrappedValues, isAdapterForType, isEquivalentValue, isPropertySet, isValidValue, isWrappingNeeded, overlayImage, removeListener, resetPropertyValue, setPropertyValue, setTarget, shouldTranslate, unsetTarget, unwrap, unwrapCommandValues, updateChildren, wrap, wrapCommand`

Methods inherited from class org.eclipse.emf.common.notify.impl.AdapterImpl
`getTarget`

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.edit.provider.IEditingDomainItemProvider
`getNewChildDescriptors`

Methods inherited from interface org.eclipse.emf.edit.provider.IItemPropertySource
`getEditableValue, getPropertyDescriptor`

Field Detail

### mappedObjectItemProviderList

    protected java.util.ArrayList<MappedObjectItemProvider> mappedObjectItemProviderList

### DIVIDER

    protected static final java.lang.String DIVIDER

### SEPARATOR

    protected static final java.lang.String SEPARATOR

Constructor Detail

### MappingItemProvider

    public MappingItemProvider(AdapterFactory adapterFactory)

  This constructs an instance from a factory and a notifier.

Method Detail

### getPropertyDescriptorsForHelper

    public void getPropertyDescriptorsForHelper(Mapping mapping)

### getPropertyDescriptors

    public java.util.List<IItemPropertyDescriptor> getPropertyDescriptors(java.lang.Object object)

  This returns the property descriptors for the adapted class.

  Specified by:
    `getPropertyDescriptors` in interface `IItemPropertySource`
  Overrides:
    `getPropertyDescriptors` in class `ItemProviderAdapter`

### getChildrenFeatures

    public java.util.Collection<? extends EStructuralFeature> getChildrenFeatures(java.lang.Object object)

  This specifies how to implement `getChildren(java.lang.Object)` and is used to deduce an appropriate feature for an `AddCommand`, `RemoveCommand` or `MoveCommand` in `createCommand(java.lang.Object, org.eclipse.emf.edit.domain.EditingDomain, java.lang.Class<? extends org.eclipse.emf.common.command.Command>, org.eclipse.emf.edit.command.CommandParameter)`.

  Overrides:
    `getChildrenFeatures` in class `ItemProviderAdapter`

### getChildFeature

    protected EStructuralFeature getChildFeature(java.lang.Object object,
                                                 java.lang.Object child)

  Description copied from class: `ItemProviderAdapter`
  This returns the most appropriate feature of the object into which the given child could be added. This default implementation first calls the deprecated `getChildReference`, for backwards compatibility. If that does not yield a non-null result, it returns the first feature returned by `getChildrenFeatures` that has a type compatible with the child. You can override this to return a better result or to compute it more efficiently.

  Overrides:
    `getChildFeature` in class `ItemProviderAdapter`

### getSetFeature

    public EStructuralFeature getSetFeature(java.lang.Object object,
                                            java.lang.Object value)

  Description copied from class: `ItemProviderAdapter`
  This returns the most appropriate feature of the object into which the value be set. This default implementation returns the first feature returned by `getSetFeatures` that has a type compatible with the value. You can override this to return a better result or to compute it more efficiently.

  Overrides:
    `getSetFeature` in class `ItemProviderAdapter`

### getMappedObjectItemProvider

    protected MappedObjectItemProvider getMappedObjectItemProvider(Mapping mapping,
                                                                   java.lang.Object mappedObject)

### substituteMappedObjectItemProvider

    protected java.lang.Object substituteMappedObjectItemProvider(Mapping mapping,
                                                                  java.lang.Object object)

### substituteMappedObject

    protected java.lang.Object substituteMappedObject(Mapping mapping,
                                                      java.lang.Object object)

### createValueIterator

    public static java.util.Iterator<?> createValueIterator(java.lang.Object object)

### getChildren

    public java.util.Collection<?> getChildren(java.lang.Object object)

  Description copied from class: `ItemProviderAdapter`
  This implements `ITreeItemContentProvider.getChildren`. If children are already cached in a `ItemProviderAdapter.ChildrenStore`, they are returned. Otherwise, children are collected from the features returned by `getChildrenFeatures`. The collected children may or may not be cached, depending on the result of `createChildrenStore`; by default, no store is returned if `getChildrenFeatures` returns only containment references. All children are optionally `wrapped` before being cached and returned. Subclasses may override `createWrapper` to specify when and with what to wrap children.

  Specified by:
    `getChildren` in interface `IEditingDomainItemProvider`
  Specified by:
    `getChildren` in interface `ITreeItemContentProvider`
  Overrides:
    `getChildren` in class `ItemProviderAdapter`

### hasChildren

    public boolean hasChildren(java.lang.Object object)

  Description copied from class: `ItemProviderAdapter`
  This implements `ITreeItemContentProvider.hasChildren` by simply testing whether `getChildren` returns any children. This implementation will always be right, however, for efficiency you may want to override it to return false or to compute the result in some other efficient way.

  Specified by:
    `hasChildren` in interface `ITreeItemContentProvider`
  Overrides:
    `hasChildren` in class `ItemProviderAdapter`

### getParent

    public java.lang.Object getParent(java.lang.Object object)

  This returns the nestedIn of the Mapping.

  Specified by:
    `getParent` in interface `IEditingDomainItemProvider`
  Specified by:
    `getParent` in interface `ITreeItemContentProvider`
  Overrides:
    `getParent` in class `ItemProviderAdapter`

### getImage

    public static java.lang.Object getImage(MappingRoot mappingRoot,
                                            java.lang.String prefix,
                                            java.util.Collection<?> collection)

### getImage

    public static java.lang.Object getImage(MappingRoot mappingRoot,
                                            java.lang.String prefix,
                                            java.util.Collection<?> collection,
                                            boolean supportNone)

### getImage

    public static java.lang.Object getImage(java.lang.String prefix,
                                            java.util.Collection<?> tops,
                                            java.util.Collection<?> bottoms)

### getImage

    public static java.lang.Object getImage(java.lang.String prefix,
                                            java.util.Collection<?> tops,
                                            java.util.Collection<?> bottoms,
                                            boolean supportNone)

### getImage

    public static java.lang.Object getImage(java.lang.String prefix,
                                            int topsSize,
                                            int bottomsSize,
                                            boolean supportNone)

### getImage

    public java.lang.Object getImage(java.lang.Object object)

  This returns Mapping.gif.

  Specified by:
    `getImage` in interface `IItemLabelProvider`
  Overrides:
    `getImage` in class `ItemProviderAdapter`

### getText

    public static java.lang.String getText(MappingRoot mappingRoot,
                                           AdapterFactory adapterFactory,
                                           java.util.Collection<?> collection)

### getText

    public static java.lang.String getText(MappingRoot mappingRoot,
                                           AdapterFactory adapterFactory,
                                           java.util.Collection<?> collection,
                                           java.lang.String pathSeparator)

### getText

    public static java.lang.String getText(MappingRoot mappingRoot,
                                           AdapterFactory adapterFactory,
                                           java.util.Collection<?> collection,
                                           java.lang.String pathSeparator,
                                           java.lang.String objectSeparator,
                                           java.lang.String divider)

### getText

    public static java.lang.String getText(MappingRoot mappingRoot,
                                           AdapterFactory adapterFactory,
                                           java.util.Collection<?> inputs,
                                           java.util.Collection<?> outputs)

### getText

    public static java.lang.String getText(MappingRoot mappingRoot,
                                           AdapterFactory adapterFactory,
                                           java.util.Collection<?> inputs,
                                           java.util.Collection<?> outputs,
                                           java.lang.String objectSeparator,
                                           java.lang.String divider)

### getText

    public java.lang.String getText(java.lang.Object object)

  Description copied from class: `ItemProviderAdapter`
  This implements `IItemLabelProvider.getText` by simply calling toString on the argument. This will often be correct as is.

  Specified by:
    `getText` in interface `IItemLabelProvider`
  Overrides:
    `getText` in class `ItemProviderAdapter`

### notifyChanged

    public void notifyChanged(Notification msg)

  This handles notification by delegating to `fireNotifyChanged`.

  Specified by:
    `notifyChanged` in interface `Adapter`
  Overrides:
    `notifyChanged` in class `AdapterImpl`
  Parameters:
    `msg` - a description of the change.

### createCommand

    public Command createCommand(java.lang.Object object,
                                 EditingDomain editingDomain,
                                 java.lang.Class<? extends Command> commandClass,
                                 CommandParameter commandParameter)

  Description copied from class: `ItemProviderAdapter`
  This implements delegated command creation for the given object.

  Specified by:
    `createCommand` in interface `IEditingDomainItemProvider`
  Overrides:
    `createCommand` in class `ItemProviderAdapter`

### createNameMatchMappingCommand

    protected Command createNameMatchMappingCommand(MappingDomain domain,
                                                    Mapping mapping)

  This creates a primitive `NameMatchMappingCommand`.

### createTypeMatchMappingCommand

    protected Command createTypeMatchMappingCommand(MappingDomain domain,
                                                    Mapping mapping)

  This creates a primitive `TypeMatchMappingCommand`.

### createRemoveCommand

    protected Command createRemoveCommand(EditingDomain domain,
                                          EObject owner,
                                          EStructuralFeature feature,
                                          java.util.Collection<?> collection)

  Description copied from class: `ItemProviderAdapter`
  This creates a primitive `RemoveCommand`.

  Overrides:
    `createRemoveCommand` in class `ItemProviderAdapter`

### factorAddCommand

    protected Command factorAddCommand(EditingDomain domain,
                                       CommandParameter commandParameter)

  Description copied from class: `ItemProviderAdapter`
  This method factors an `AddCommand` for a collection of objects into one or more primitive add command, i.e., one per unique feature.

  Overrides:
    `factorAddCommand` in class `ItemProviderAdapter`

### createAddCommand

    protected Command createAddCommand(EditingDomain domain,
                                       EObject owner,
                                       EStructuralFeature feature,
                                       java.util.Collection<?> collection,
                                       int index)

  Description copied from class: `ItemProviderAdapter`
  This creates a primitive `AddCommand`.

  Overrides:
    `createAddCommand` in class `ItemProviderAdapter`

### createMoveCommand

    protected Command createMoveCommand(EditingDomain domain,
                                        EObject owner,
                                        EStructuralFeature feature,
                                        EObject value,
                                        int index)

  This creates a primitive `MoveCommand`.

### createSetCommand

    protected Command createSetCommand(EditingDomain domain,
                                       EObject owner,
                                       EStructuralFeature feature,
                                       java.lang.Object value)

  This creates a primitive `SetCommand`.

  Overrides:
    `createSetCommand` in class `ItemProviderAdapter`

### dispose

    public void dispose()

  Description copied from class: `ItemProviderAdapter`
  This will remove this adapter from all its the targets and dispose any remainging children wrappers in the children store.

  Specified by:
    `dispose` in interface `IDisposable`
  Overrides:
    `dispose` in class `ItemProviderAdapter`

### getResourceLocator

    public ResourceLocator getResourceLocator()

  Return the resource locator for this item provider's resources.

  Overrides:
    `getResourceLocator` in class `ItemProviderAdapter`

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