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 Detail

      • addToMap

        void addToMap​(Object element,
                      Item item)
        Adds a new item to the map. Called by the CommonViewer when the element is added to the Tree.
        Parameters:
        element - Element to map
        item - The item used for the element
      • removeFromMap

        void removeFromMap​(Object element,
                           Item item)
        Removes an element from the map. Called by the CommonViewer when the element is removed from the Tree.
        Parameters:
        element - The data element
        item - 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

        boolean handlesObject​(Object object)
        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