|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.eclipse.emf.common.notify.impl.AdapterImpl org.eclipse.emf.edit.provider.ItemProviderAdapter org.eclipse.emf.edit.provider.ReflectiveItemProvider
public class ReflectiveItemProvider
This adapter implementation provides reflective support that emulates the behaviour of a default generated item provider.
Nested Class Summary |
---|
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 java.util.List<EClass> |
allEClasses
|
protected java.util.List<EPackage> |
allEPackages
|
protected java.util.List<EObject> |
allRoots
|
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 | |
---|---|
ReflectiveItemProvider(AdapterFactory adapterFactory)
|
Method Summary | |
---|---|
protected java.lang.String |
capName(java.lang.String name)
|
protected void |
collectNewChildDescriptors(java.util.Collection<java.lang.Object> newChildDescriptors,
java.lang.Object object)
This adds to newChildDescriptors , a collection of new child
descriptors. |
java.lang.String |
format(java.lang.String name,
char separator)
|
protected void |
gatherAllMetaData(EObject eObject)
|
protected void |
gatherMetaData(EModelElement eModelElement)
|
protected java.util.List<EClass> |
getAllChildConcreteSubclasses(EReference eReference)
|
protected java.util.List<EClass> |
getAllConcreteSubclasses(EClass eClass)
|
protected java.util.List<? extends EStructuralFeature> |
getAllDelegatedFeatures(EStructuralFeature feature)
|
protected java.util.List<EClass> |
getAllEClasses(EClass eClass)
|
protected java.util.List<EPackage> |
getAllEPackages(EClass eClass)
|
protected java.util.Collection<? extends EStructuralFeature> |
getChildrenFeatures(java.lang.Object object)
If this is defined to be something other than an empty list, it is used to implement getChildren , including in determining whether to cache children and, if so, in setting up the store. |
java.lang.Object |
getCreateChildImage(java.lang.Object owner,
java.lang.Object feature,
java.lang.Object child,
java.util.Collection<?> selection)
This returns the icon image for CreateChildCommand . |
java.lang.String |
getCreateChildText(java.lang.Object owner,
java.lang.Object feature,
java.lang.Object child,
java.util.Collection<?> selection)
This returns the label for CreateChildCommand . |
protected java.lang.String |
getFeatureText(java.lang.Object feature)
This looks up the name of the specified feature. |
java.lang.Object |
getImage(java.lang.Object object)
This implements IItemLabelProvider.getImage by returning null. |
protected EStructuralFeature |
getLabelFeature(EClass eClass)
|
java.util.List<IItemPropertyDescriptor> |
getPropertyDescriptors(java.lang.Object object)
This implements IItemPropertySource.getPropertyDescriptors
by returning the locally stored vector of descriptors. |
java.lang.String |
getText(java.lang.Object object)
This implements IItemLabelProvider.getText by simply calling toString on the argument. |
protected java.lang.String |
getTypeText(EAttribute attribute)
This looks up the name of the type of the specified attribute. |
protected java.lang.String |
getTypeText(java.lang.Object object)
This looks up the name of the type of the specified object. |
protected boolean |
isWrappingNeeded(java.lang.Object object)
Returns whether this item provider may need to use wrappers for some or all of the values it returns as children . |
void |
notifyChanged(Notification notification)
Does nothing; clients may override so that it does something. |
protected java.util.List<java.lang.String> |
parseName(java.lang.String sourceName,
char sourceSeparator)
|
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 |
---|
createCommand, getChildren, getNewChildDescriptors, getParent |
Methods inherited from interface org.eclipse.emf.edit.provider.ITreeItemContentProvider |
---|
getChildren, getParent, hasChildren |
Methods inherited from interface org.eclipse.emf.edit.provider.IItemPropertySource |
---|
getEditableValue, getPropertyDescriptor |
Field Detail |
---|
protected java.util.List<EObject> allRoots
protected java.util.List<EPackage> allEPackages
protected java.util.List<EClass> allEClasses
Constructor Detail |
---|
public ReflectiveItemProvider(AdapterFactory adapterFactory)
Method Detail |
---|
public java.util.List<IItemPropertyDescriptor> getPropertyDescriptors(java.lang.Object object)
ItemProviderAdapter
IItemPropertySource.getPropertyDescriptors
by returning the locally stored vector of descriptors.
This vector could be populated in the constructor of a derived class
but it's probably more efficient to create them only on demand by overriding this method.
You'll probably want to call super.getPropertyDescriptors if you do this,
since you may have one adapter derive from another.
getPropertyDescriptors
in interface IItemPropertySource
getPropertyDescriptors
in class ItemProviderAdapter
protected void gatherAllMetaData(EObject eObject)
protected java.util.List<EClass> getAllEClasses(EClass eClass)
protected java.util.List<EPackage> getAllEPackages(EClass eClass)
protected void gatherMetaData(EModelElement eModelElement)
protected java.util.List<EClass> getAllChildConcreteSubclasses(EReference eReference)
protected java.util.List<EClass> getAllConcreteSubclasses(EClass eClass)
protected java.util.Collection<? extends EStructuralFeature> getChildrenFeatures(java.lang.Object object)
ItemProviderAdapter
getChildren
, including in determining whether to cache children and, if so, in setting up the store. It is also
used to deduce the appropriate feature for an AddCommand
, RemoveCommand
or
MoveCommand
in createCommand
. If you override those methods, then you don't
need to implement this.
getChildrenFeatures
in class ItemProviderAdapter
public java.lang.Object getImage(java.lang.Object object)
ItemProviderAdapter
IItemLabelProvider.getImage
by returning null.
Most things really should have an icon, but not having one is technically correct too.
getImage
in interface IItemLabelProvider
getImage
in class ItemProviderAdapter
public java.lang.String getText(java.lang.Object object)
ItemProviderAdapter
IItemLabelProvider.getText
by simply calling toString on the argument.
This will often be correct as is.
getText
in interface IItemLabelProvider
getText
in class ItemProviderAdapter
protected EStructuralFeature getLabelFeature(EClass eClass)
protected java.lang.String capName(java.lang.String name)
public java.lang.String format(java.lang.String name, char separator)
protected java.util.List<java.lang.String> parseName(java.lang.String sourceName, char sourceSeparator)
protected java.util.List<? extends EStructuralFeature> getAllDelegatedFeatures(EStructuralFeature feature)
protected void collectNewChildDescriptors(java.util.Collection<java.lang.Object> newChildDescriptors, java.lang.Object object)
ItemProviderAdapter
newChildDescriptors
, a collection of new child
descriptors. Typically, CommandParameter
s
will be used as descriptors. This implementation adds nothing to the
collection, but derived classes should override this method, invoking the
superclass implementation and then adding to the collection.
collectNewChildDescriptors
in class ItemProviderAdapter
public java.lang.String getCreateChildText(java.lang.Object owner, java.lang.Object feature, java.lang.Object child, java.util.Collection<?> selection)
ItemProviderAdapter
CreateChildCommand
.
getCreateChildText
in interface CreateChildCommand.Helper
getCreateChildText
in class ItemProviderAdapter
public java.lang.Object getCreateChildImage(java.lang.Object owner, java.lang.Object feature, java.lang.Object child, java.util.Collection<?> selection)
ItemProviderAdapter
CreateChildCommand
.
getCreateChildImage
in interface CreateChildCommand.Helper
getCreateChildImage
in class ItemProviderAdapter
protected java.lang.String getTypeText(java.lang.Object object)
ItemProviderAdapter
getTypeText
in class ItemProviderAdapter
protected java.lang.String getTypeText(EAttribute attribute)
ItemProviderAdapter
getTypeText
in class ItemProviderAdapter
protected java.lang.String getFeatureText(java.lang.Object feature)
ItemProviderAdapter
getFeatureText
in class ItemProviderAdapter
public void notifyChanged(Notification notification)
AdapterImpl
notifyChanged
in interface Adapter
notifyChanged
in class AdapterImpl
notification
- a description of the change.protected boolean isWrappingNeeded(java.lang.Object object)
ItemProviderAdapter
children
. This is used to determine whether to use a store to keep track of children and whether to
use command wrappers that re-wrap results and affected objects. The default implementation of createWrapper
also tests this method and will not create any wrappers if it returns
false
.
This implementation consults getChildrenFeatures
, returning true if any feature
map or simple attributes contribute children. This provides backwards compatibility with pre-2.0 subclasses
and enables the more useful new default behaviour for attributes, which were previously not allowed. Subclasses
may override this to enable wrapping of cross-referenced model objects, or to immediately return true
or false
, as desired. This is a convenient way to disable all of the new wrapping features in 2.0.
isWrappingNeeded
in class ItemProviderAdapter
|
Copyright 2001-2006 IBM Corporation and others. All Rights Reserved. |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |