Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.ui.views.navigator
Class ResourceSorter

    java.lang.Object
      org.eclipse.jface.viewers.ViewerSorter
          org.eclipse.ui.views.navigator.ResourceSorter

public class ResourceSorter
extends ViewerSorter

Sorter for viewers that display items of type `IResource`. The sorter supports two sort criteria:

`NAME`: Folders are given order precedence, followed by files. Within these two groups resources are ordered by name. All name comparisons are case-insensitive.

`TYPE`: Folders are given order precedence, followed by files. Within these two groups resources are ordered by extension. All extension comparisons are case-insensitive.

This class may be instantiated; it is not intended to be subclassed.

Field Summary
`static int` | `NAME` Constructor argument value that indicates to sort items by name.
`static int` | `TYPE` Constructor argument value that indicates to sort items by extension.

Fields inherited from class org.eclipse.jface.viewers.ViewerSorter
`collator`

Constructor Summary
`ResourceSorter(int criteria)` Creates a resource sorter that will use the given sort criteria.

Method Summary
`protected int` | `classComparison(Object element)` Returns an integer value representing the relative sort priority of the given element based on its class.
`int` | `compare(Viewer viewer, Object o1, Object o2)` Returns a negative, zero, or positive number depending on whether the first element is less than, equal to, or greater than the second element.
`protected int` | `compareClass(Object element1, Object element2)` Returns a number reflecting the collation order of the given elements based on their class.
`protected int` | `compareNames(IResource resource1, IResource resource2)` Returns a number reflecting the collation order of the given resources based on their resource names.
`protected int` | `compareTypes(IResource resource1, IResource resource2)` Returns a number reflecting the collation order of the given resources based on their respective file extensions.
`int` | `getCriteria()` Returns the sort criteria of this sorter.
`void` | `setCriteria(int criteria)` Sets the sort criteria of this sorter.

Methods inherited from class org.eclipse.jface.viewers.ViewerSorter
`category, getCollator, isSorterProperty, sort`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### NAME

    public static final int NAME

  Constructor argument value that indicates to sort items by name.

  See Also:
    Constant Field Values

### TYPE

    public static final int TYPE

  Constructor argument value that indicates to sort items by extension.

  See Also:
    Constant Field Values

Constructor Detail

### ResourceSorter

    public ResourceSorter(int criteria)

  Creates a resource sorter that will use the given sort criteria.

Parameters:
  `criteria` - the sort criterion to use: one of `NAME` or `TYPE`

Method Detail

### classComparison

    protected int classComparison(Object element)

  Returns an integer value representing the relative sort priority of the given element based on its class.

  - resources (`IResource`) - 2
  - project references (`ProjectReference`) - 1
  - everything else - 0

  Parameters:
    `element` - the element
  Returns:
    the sort priority (larger numbers means more important)

### compare

    public int compare(Viewer viewer,
                       Object o1,
                       Object o2)

  Description copied from class: `ViewerSorter`
  Returns a negative, zero, or positive number depending on whether the first element is less than, equal to, or greater than the second element.

  The default implementation of this method is based on comparing the elements' categories as computed by the `category` framework method. Elements within the same category are further subjected to a case insensitive compare of their label strings, either as computed by the content viewer's label provider, or their `toString` values in other cases. Subclasses may override.

  Overrides:
    `compare` in class `ViewerSorter`
  Parameters:
    `viewer` - the viewer
    `o1` - the first element
    `o2` - 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 number if the first element is greater than the second element

### compareClass

    protected int compareClass(Object element1,
                               Object element2)

  Returns a number reflecting the collation order of the given elements based on their class.

  Parameters:
    `element1` - the first element to be ordered
    `element2` - the second element to be ordered
  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 number if the first element is greater than the second element

### compareNames

    protected int compareNames(IResource resource1,
                               IResource resource2)

  Returns a number reflecting the collation order of the given resources based on their resource names.

  Parameters:
    `resource1` - the first resource element to be ordered
    `resource2` - the second resource element to be ordered
  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 number if the first element is greater than the second element

### compareTypes

    protected int compareTypes(IResource resource1,
                               IResource resource2)

  Returns a number reflecting the collation order of the given resources based on their respective file extensions. Resources with the same file extension will be collated based on their names.

  Parameters:
    `resource1` - the first resource element to be ordered
    `resource2` - the second resource element to be ordered
  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 number if the first element is greater than the second element

### getCriteria

    public int getCriteria()

  Returns the sort criteria of this sorter.

  Returns:
    the sort criterion: one of `NAME` or `TYPE`

### setCriteria

    public void setCriteria(int criteria)

  Sets the sort criteria of this sorter.

  Parameters:
    `criteria` - the sort criterion: one of `ResourceSorter.NAME` or `ResourceSorter.TYPE`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.