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
Fields -
Constructor Summary
ConstructorsConstructorDescriptionResourceComparator(int criteria) Creates a resource sorter that will use the given sort criteria. -
Method Summary
Modifier and TypeMethodDescriptionprotected intclassComparison(Object element) Returns an integer value representing the relative sort priority of the given element based on its class.intReturns a negative, zero, or positive number depending on whether the first element is less than, equal to, or greater than the second element.protected intcompareClass(Object element1, Object element2) Returns a number reflecting the collation order of the given elements based on their class.protected intcompareNames(IResource resource1, IResource resource2) Returns a number reflecting the collation order of the given resources based on their resource names.protected intcompareTypes(IResource resource1, IResource resource2) Returns a number reflecting the collation order of the given resources based on their respective file extensions.intReturns the sort criteria of this sorter.voidsetCriteria(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 ofNAMEorTYPE
-
-
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:ViewerComparatorReturns 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
categoryframework 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 theirtoStringvalues in other cases. Subclasses may override.- Overrides:
comparein 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
0if 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
0if 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
0if 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
0if 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
NAMEorTYPE
-
setCriteria
public void setCriteria(int criteria) Sets the sort criteria of this sorter.- Parameters:
criteria- the sort criterion: one ofResourceSorter.NAMEorResourceSorter.TYPE
-