Class CommonViewerSorter


public final class CommonViewerSorter extends TreePathViewerSorter
Provides an implementation of TreeViewerSorter that uses the given parent to determine the correct sort order based on the defined org.eclipse.ui.navigator.navigatorContent/navigatorContent/commonSorter elements available in the set of visible content extensions.

The CommonViewerSorter must be assigned a INavigatorContentService to drive its sorting algorithm. Without a valid content service, the sorter will return the default ordering.

A CommonViewerSorter may not be attached to more than one CommonViewer.

Since:
3.2
  • Constructor Details

    • CommonViewerSorter

      public CommonViewerSorter()
  • Method Details

    • setContentService

      public void setContentService(INavigatorContentService aContentService)
      Create a sorter service attached to the given content service.
      Parameters:
      aContentService - The content service used by the viewer that will use this sorter service.
      Since:
      3.3
    • category

      public int category(Object element)
      Description copied from class: ViewerComparator
      Returns the category of the given element. The category is a number used to allocate elements to bins; the bins are arranged in ascending numeric order. The elements within a bin are arranged via a second level sort criterion.

      The default implementation of this framework method returns 0. Subclasses may reimplement this method to provide non-trivial categorization.

      Overrides:
      category in class ViewerComparator
      Parameters:
      element - the element
      Returns:
      the category
    • compare

      public int compare(Viewer viewer, TreePath parentPath, Object e1, Object e2)
      Description copied from class: TreePathViewerSorter
      Compare the given elements that will have the given parent path when they are added to the viewer. The provided path is relative to the viewer input. The parent path will be null when the elements are root elements.

      By default, the this method calls ViewerSorter#sort(Viewer, Object[]). Subclasses may override.

      Overrides:
      compare in class TreePathViewerSorter
      Parameters:
      viewer - the viewer
      parentPath - the parent path for the two elements
      e1 - the first element
      e2 - the second element
      Returns:
      a negative number if the first element is less than the second element; the value 0 if the first element is equal to the second element; and a positive
    • isSorterProperty

      public boolean isSorterProperty(Object element, String property)
      Description copied from class: ViewerComparator
      Returns whether this viewer sorter would be affected by a change to the given property of the given element.

      The default implementation of this method returns false. Subclasses may reimplement.

      Overrides:
      isSorterProperty in class ViewerComparator
      Parameters:
      element - the element
      property - the property
      Returns:
      true if the sorting would be affected, and false if it would be unaffected
    • isSorterProperty

      public boolean isSorterProperty(TreePath parentPath, Object element, String property)
      Description copied from class: TreePathViewerSorter
      Returns whether this viewer sorter would be affected by a change to the given property of the given element. The provided path is relative to the viewer input. The parent path will be null when the elements are root elements.

      The default implementation of this method calls ViewerSorter#isSorterProperty(Object, String). Subclasses may reimplement.

      Overrides:
      isSorterProperty in class TreePathViewerSorter
      Parameters:
      parentPath - the parent path of the element
      element - the element
      property - the property
      Returns:
      true if the sorting would be affected, and false if it would be unaffected