public int compare()

in event/src/main/java/org/apache/shiro/event/support/EventListenerComparator.java [42:71]


    public int compare(EventListener a, EventListener b) {
        if (a == null) {
            if (b == null) {
                return 0;
            } else {
                return -1;
            }
        } else if (b == null) {
            return 1;
        } else if (a == b || a.equals(b)) {
            return 0;
        } else {
            if (a instanceof TypedEventListener) {
                TypedEventListener ta = (TypedEventListener) a;
                if (b instanceof TypedEventListener) {
                    TypedEventListener tb = (TypedEventListener) b;
                    return EVENT_CLASS_COMPARATOR.compare(ta.getEventType(), tb.getEventType());
                } else {
                    //TypedEventListeners are 'less than' (higher priority) than non typed
                    return -1;
                }
            } else {
                if (b instanceof TypedEventListener) {
                    return 1;
                } else {
                    return 0;
                }
            }
        }
    }