Class ResourceComparator
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.
- Since:
- 3.3
-
Field Summary
-
Constructor Summary
ConstructorDescriptionResourceComparator
(int criteria) Creates a resource sorter that will use the given sort criteria. -
Method Summary
Modifier and TypeMethodDescriptionprotected int
classComparison
(Object element) Returns an integer value representing the relative sort priority of the given element based on its class.int
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
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.ViewerComparator
category, getComparator, isSorterProperty, sort
-
Field Details
-
NAME
public static final int NAMEConstructor argument value that indicates to sort items by name.- See Also:
-
TYPE
public static final int TYPEConstructor argument value that indicates to sort items by extension.- See Also:
-
-
Constructor Details
-
ResourceComparator
public ResourceComparator(int criteria) Creates a resource sorter that will use the given sort criteria.- Parameters:
criteria
- the sort criterion to use: one ofNAME
orTYPE
-
-
Method Details
-
classComparison
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)
- resources (
-
compare
Description copied from class:ViewerComparator
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 theirtoString
values in other cases. Subclasses may override.- Overrides:
compare
in classViewerComparator
- Parameters:
viewer
- the viewero1
- the first elemento2
- 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
Returns a number reflecting the collation order of the given elements based on their class.- Parameters:
element1
- the first element to be orderedelement2
- 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
Returns a number reflecting the collation order of the given resources based on their resource names.- Parameters:
resource1
- the first resource element to be orderedresource2
- 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
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 orderedresource2
- 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
orTYPE
-
setCriteria
public void setCriteria(int criteria) Sets the sort criteria of this sorter.- Parameters:
criteria
- the sort criterion: one ofResourceSorter.NAME
orResourceSorter.TYPE
-