OpenConcerto

Dépôt officiel du code source de l'ERP OpenConcerto
sonarqube

svn://code.openconcerto.org/openconcerto

Rev

Rev 20 | Rev 41 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 20 Rev 25
Line 55... Line 55...
55
        else
55
        else
56
            return +1;
56
            return +1;
57
    }
57
    }
58
 
58
 
59
    /**
59
    /**
-
 
60
     * Compare two objects if they're numbers or comparable.
-
 
61
     * 
-
 
62
     * @param o1 first object.
-
 
63
     * @param o2 second object.
-
 
64
     * @return a negative integer, zero, or a positive integer as o1 is less than, equal to, or
-
 
65
     *         greater than o2.
-
 
66
     * @throws ClassCastException if o1 is neither a {@link Number} nor a {@link Comparable}, or if
-
 
67
     *         o2's type prevents it from being compared to o1.
-
 
68
     * @throws NullPointerException if o1 or o2 is <code>null</code>.
-
 
69
     * @see Comparable#compareTo(Object)
-
 
70
     * @see NumberUtils#compare(Number, Number)
-
 
71
     */
-
 
72
    static public final int compare(final Object o1, final Object o2) throws ClassCastException {
-
 
73
        if (o1 == null || o2 == null)
-
 
74
            throw new NullPointerException();
-
 
75
        if (o1 instanceof Number && o2 instanceof Number) {
-
 
76
            return NumberUtils.compare((Number) o1, (Number) o2);
-
 
77
        } else {
-
 
78
            // see Arrays.mergeSort()
-
 
79
            @SuppressWarnings({ "rawtypes", "unchecked" })
-
 
80
            final int res = ((Comparable) o1).compareTo(o2);
-
 
81
            return res;
-
 
82
        }
-
 
83
    }
-
 
84
 
-
 
85
    /**
60
     * Renvoie un comparateur qui utilise successivement la liste passée tant que les objets sont
86
     * Renvoie un comparateur qui utilise successivement la liste passée tant que les objets sont
61
     * égaux.
87
     * égaux.
62
     * 
88
     * 
63
     * @param comparators une liste de Comparator.
89
     * @param comparators une liste de Comparator.
64
     * @return le Comparator demandé.
90
     * @return le Comparator demandé.