Class PreferExplicitOrderComparator
- java.lang.Object
-
- net.shibboleth.idp.consent.logic.impl.PreferExplicitOrderComparator
-
- All Implemented Interfaces:
Comparator<String>
public class PreferExplicitOrderComparator extends Object implements Comparator<String>
Comparator which prefers to order strings according to the order in which they appear in a list, and which falls back to natural ordering for strings not present in the list. Relies on Guava'sOrdering.explicit(List)to compare strings present in the list. Strings not present in the list are treated as greater than strings present in the list and are compared according to their natural ordering. Does not support comparing null values. Is not serializable, and such should not be used as part of a TreeMap, for example, which is serialized.
-
-
Field Summary
Fields Modifier and Type Field Description private List<String>explicitOrderStrings in order.private Ordering<String>explicitOrderingExplicit ordering.
-
Constructor Summary
Constructors Constructor Description PreferExplicitOrderComparator(List<String> order)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompare(String o1, String o2)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Comparator
equals, reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
-
-
-
-
Method Detail
-
compare
public int compare(String o1, String o2)
- Specified by:
comparein interfaceComparator<String>- Throws:
NullPointerException- if either argument is null
-
-