Eclipse Platform
2.0

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 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.

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 this sorter.

Returns:
the sort criterion: one of NAME or TYPE

Eclipse Platform
2.0

Copyright (c) IBM Corp. and others 2000, 2002. All Rights Reserved.