Package org.eclipse.ui.navigator
Interface ICommonViewerMapper
public interface ICommonViewerMapper
Allows improved performance by optimizing label updates of the CommonViewer.
Often label updates come in the form of resource updates, and the resources
themselves are not directly stored in the
CommonViewer
; instead other model
objects are stored. In addition, it may be the case where the objects that
have changed are not present in the Tree associated with the CommonViewer
because they have not been opened or expanded.
You can use an instance of this class to define a mapping between the current
Tree Items associated with the CommonViewer and the (typically resource) objects
where a change is notified. The change is notified to the
CommonViewer.handleLabelProviderChanged(org.eclipse.jface.viewers.LabelProviderChangedEvent)
.
The mapper object (implementing this interface) is associated with the CommonViewer using
the CommonViewer.setMapper(ICommonViewerMapper)
method.
When this mapper wishes to update the CommonViewer, the
CommonViewer.doUpdateItem(org.eclipse.swt.widgets.Widget)
method is used.- Since:
- 3.4
- Restriction:
- This interface is not intended to be extended by clients.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a new item to the map.void
clearMap()
Clears the map.boolean
handlesObject
(Object object) Tests if this mapper handles the specified object.boolean
isEmpty()
Tests if the map is emptyvoid
objectChanged
(Object object) Indicates the specified object has changed.void
removeFromMap
(Object element, Item item) Removes an element from the map.
-
Method Details
-
addToMap
Adds a new item to the map. Called by theCommonViewer
when the element is added to the Tree.- Parameters:
element
- Element to mapitem
- The item used for the element
-
removeFromMap
Removes an element from the map. Called by theCommonViewer
when the element is removed from the Tree.- Parameters:
element
- The data elementitem
- The table or tree item
-
clearMap
void clearMap()Clears the map. -
isEmpty
boolean isEmpty()Tests if the map is empty- Returns:
- Returns if there are mappings
-
handlesObject
Tests if this mapper handles the specified object. This is used only by the viewer to determine if the object should be looked up in the mapper. This is not to be used when the object is being added to the mapper, as the mapper may adapt to the desired object to be mapped (like adapting from a Java model object to a resource object for example).- Parameters:
object
- the object that the mapper can handle- Returns:
- true if it does
-
objectChanged
Indicates the specified object has changed. If the object has a corresponding Item in the map, the associatedCommonViewer
is notified of the change using theCommonViewer.doUpdateItem(org.eclipse.swt.widgets.Widget)
method so that it can update its state.- Parameters:
object
- the object that changed
-