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, CreateChildCommand.Helper, IChangeNotifier, IDisposable, IEditingDomainItemProvider, IItemLabelProvider, IItemPropertySource, IStructuredItemContentProvider, ITreeItemContentProvider, ResourceLocator
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.


Inner Class Summary
static class MappingItemProvider.TypeMappingHelperWrapper
           
 
Field Summary
protected static java.lang.String DIVIDER
           
protected  java.util.ArrayList mappedObjectItemProviderList
           
protected static java.lang.String SEPARATOR
           
 
Fields inherited from class org.eclipse.emf.edit.provider.ItemProviderAdapter
adapterFactory, changeNotifier, childrenReferences, itemPropertyDescriptors, targets
 
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, EReference feature, java.util.Collection collection, int index)
          This creates a primitive AddCommand.
 Command createCommand(java.lang.Object object, EditingDomain editingDomain, java.lang.Class commandClass, CommandParameter commandParameter)
          This does the same thing as EditingDomain.createCommand, i.e., it creates commands for a domain's model objects.
protected  Command createMoveCommand(EditingDomain domain, EObject owner, EReference feature, EObject value, int index)
          This creates a primitive com.ibm.etools.emf.edit.command.MoveCommand.
protected  Command createNameMatchMappingCommand(MappingDomain domain, Mapping mapping)
          This creates a primitive NameMatchMappingCommand.
protected  Command createRemoveCommand(EditingDomain domain, EObject owner, EReference 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 com.ibm.etools.emf.edit.command.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.
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 reference.
protected  EReference getChildReference(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 does the same thing as EditingDomain.getChildren, i.e., it imposes a hierarchical relation on a domain's model objects.
 java.util.Collection getChildrenReferences(java.lang.Object object)
          This specifies how to implement getChildren(java.lang.Object) and AddCommand and RemoveCommand support in createCommand(java.lang.Object, org.eclipse.emf.edit.domain.EditingDomain, java.lang.Class, 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 getPropertyDescriptors(java.lang.Object object)
          This returns the property descriptors for the adapted class.
 void getPropertyDescriptorsForHelper(Mapping mapping)
           
 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 does the same thing as ILabelProvider.getlText, it fetches the label text specific to this object instance.
 boolean hasChildren(java.lang.Object object)
          This does the same thing as ITreeContentProvider.hasChildren.
 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, collectNewChildDescriptors, createChildParameter, createCopyCommand, createCreateChildCommand, createCreateCopyCommand, createDragAndDropCommand, createInitializeCopyCommand, createReplaceCommand, factorMoveCommand, factorRemoveCommand, fireNotifyChanged, getAdapterFactory, getBaseURL, getCreateChildDescription, getCreateChildImage, getCreateChildResult, getCreateChildText, getCreateChildToolTipText, getEditableValue, getElements, getFeatureText, getImage, getNewChildDescriptors, getPropertyDescriptor, getPropertyValue, getReferenceValue, getResourceLocator, getResourceLocator, getSetFeatures, getString, getString, getString, getString, getTypeText, getUpdateableText, isAdapterForType, isPropertySet, removeListener, resetPropertyValue, setPropertyValue, setTarget
 
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.IStructuredItemContentProvider
getElements
 
Methods inherited from interface org.eclipse.emf.edit.provider.IItemPropertySource
getEditableValue, getPropertyDescriptor
 

Field Detail

mappedObjectItemProviderList

protected java.util.ArrayList 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 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

getChildrenReferences

public java.util.Collection getChildrenReferences(java.lang.Object object)
This specifies how to implement getChildren(java.lang.Object) and AddCommand and RemoveCommand support in createCommand(java.lang.Object, org.eclipse.emf.edit.domain.EditingDomain, java.lang.Class, org.eclipse.emf.edit.command.CommandParameter).
Overrides:
getChildrenReferences in class ItemProviderAdapter

getChildReference

protected EReference getChildReference(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 returns the first reference returned by getChildrenReferences that has a type compatible with the child. You can override this to return a better result or to compute it more efficiently.
Overrides:
getChildReference 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 interface: IEditingDomainItemProvider
This does the same thing as EditingDomain.getChildren, i.e., it imposes a hierarchical relation on a domain's model objects.
Specified by:
getChildren in interface IEditingDomainItemProvider
Overrides:
getChildren in class ItemProviderAdapter

hasChildren

public boolean hasChildren(java.lang.Object object)
Description copied from interface: ITreeItemContentProvider
This does the same thing as ITreeContentProvider.hasChildren.
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
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 interface: IItemLabelProvider
This does the same thing as ILabelProvider.getlText, it fetches the label text specific to this object instance.
Specified by:
getText in interface IItemLabelProvider
Overrides:
getText in class ItemProviderAdapter

notifyChanged

public void notifyChanged(Notification msg)
This handles notification by delegating to fireNotifyChanged.
Overrides:
notifyChanged in class AdapterImpl
Following copied from interface: org.eclipse.emf.common.notify.Adapter
Parameters:
notification - a description of the change.

createCommand

public Command createCommand(java.lang.Object object,
                             EditingDomain editingDomain,
                             java.lang.Class commandClass,
                             CommandParameter commandParameter)
Description copied from interface: IEditingDomainItemProvider
This does the same thing as EditingDomain.createCommand, i.e., it creates commands for a domain's model objects.
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,
                                      EReference 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 reference.
Overrides:
factorAddCommand in class ItemProviderAdapter

createAddCommand

protected Command createAddCommand(EditingDomain domain,
                                   EObject owner,
                                   EReference 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,
                                    EReference feature,
                                    EObject value,
                                    int index)
This creates a primitive com.ibm.etools.emf.edit.command.MoveCommand.
Overrides:
createMoveCommand in class ItemProviderAdapter

createSetCommand

protected Command createSetCommand(EditingDomain domain,
                                   EObject owner,
                                   EStructuralFeature feature,
                                   java.lang.Object value)
This creates a primitive com.ibm.etools.emf.edit.command.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.
Overrides:
dispose in class ItemProviderAdapter

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