Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.expressionevaluator / org.gvsig.expressionevaluator.swing / org.gvsig.expressionevaluator.swing.impl / src / main / java / org / gvsig / expressionevaluator / swing / impl / ComparatorUtils.java @ 43983

History | View | Annotate | Download (1.04 KB)

1
package org.gvsig.expressionevaluator.swing.impl;
2

    
3
import java.util.Comparator;
4
import java.util.Objects;
5

    
6
/*
7
 * To change this license header, choose License Headers in Project Properties.
8
 * To change this template file, choose Tools | Templates
9
 * and open the template in the editor.
10
 */
11
/**
12
 *
13
 * @author jjdelcerro
14
 */
15
public class ComparatorUtils {
16

    
17
    public static Comparator naturalComparator() {
18
        return new Comparator() {
19
            @Override
20
            public int compare(Object o1, Object o2) {
21
                if (o1 instanceof Double) {
22
                    return Double.compare((Double) o1, (Double) o2);
23
                } else if (o1 instanceof Float) {
24
                    return Double.compare((Float) o1, (Float) o2);
25
                } else if (o1 instanceof Number) {
26
                    return Double.compare(((Number) o1).longValue(), ((Number) o2).longValue());
27
                } else {
28
                    return Objects.toString(o1, "").compareTo(Objects.toString(o2, ""));
29
                }
30
            }
31
        };
32
    }
33
}