1
package org.herac.tuxguitar.gui.tools.browser.dialog;
3
import java.util.Comparator;
5
import org.herac.tuxguitar.gui.tools.browser.base.TGBrowserElement;
7
public class TGBrowserElementComparator implements Comparator {
9
private static final int RESULT_LESS = -1;
11
private static final int RESULT_EQUAL = 0;
13
private static final int RESULT_GREATER = 1;
15
private static final int DIRECTION = 1;
17
private static final int DIRECTION_FOLDER = 1;
19
public int compare(Object o1, Object o2) {
20
if(o1 instanceof TGBrowserElement && o2 instanceof TGBrowserElement){
21
TGBrowserElement element1 = (TGBrowserElement)o1;
22
TGBrowserElement element2 = (TGBrowserElement)o2;
24
if(element1.isFolder() && !element2.isFolder()){
25
return (DIRECTION_FOLDER * RESULT_LESS);
27
if(element2.isFolder() && !element1.isFolder()){
28
return (DIRECTION_FOLDER * RESULT_GREATER);
31
return (DIRECTION * (element1.getName().compareTo(element2.getName())));