Message10243

Author jsaiz
Recipients jsaiz, zyasoft
Date 2015-09-10.10:04:03
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1441879443.5.0.873013660015.issue2391@psf.upfronthosting.co.za>
In-reply-to
Content
The previous comparator is wrong. This one apparently solves it:

// === START PATCH FOR BUG 2391 ===

Comparator<Class<?>> classComparator = new Comparator<Class<?>>() {
    @Override public int compare(Class<?> c1, Class<?> c2) {
        if (c1 != c2) {
            if (c1.isAssignableFrom(c2)) { return -1; }
            if (c2.isAssignableFrom(c1)) { return  1; }
        }
        return 0;
    }
};
Comparator<Method> methodComparator = new Comparator<Method>() {
    @Override public int compare(Method m1, Method m2) {
        int nameComparison = m1.getName().compareTo(m2.getName());
        if (nameComparison != 0) { return nameComparison; }
        int typeComparison = classComparator.compare(m1.getDeclaringClass(), m2.getDeclaringClass());
        if (typeComparison != 0) { return typeComparison; }
        int returnComparison = classComparator.compare(m1.getReturnType(), m2.getReturnType());
        if (returnComparison != 0) { return returnComparison; }
        return 0;
    }
};
Arrays.sort(methods, methodComparator);

// ==== END PATCH FOR BUG 2391 ====
History
Date User Action Args
2015-09-10 10:04:03jsaizsetmessageid: <1441879443.5.0.873013660015.issue2391@psf.upfronthosting.co.za>
2015-09-10 10:04:03jsaizsetrecipients: + jsaiz, zyasoft
2015-09-10 10:04:03jsaizlinkissue2391 messages
2015-09-10 10:04:03jsaizcreate