Class PreferExplicitOrderComparator
java.lang.Object
net.shibboleth.idp.consent.logic.impl.PreferExplicitOrderComparator
- All Implemented Interfaces:
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's
Ordering.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
FieldsModifier and TypeFieldDescriptionStrings in order.Explicit ordering. -
Constructor Summary
Constructors -
Method Summary
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
-
Field Details
-
explicitOrdering
Explicit ordering. -
explicitOrder
Strings in order.
-
-
Constructor Details
-
PreferExplicitOrderComparator
Constructor.- Parameters:
order
- the desired order, null and empty strings are ignored, duplicates are removed
-
-
Method Details
-
compare
- Specified by:
compare
in interfaceComparator<String>
- Throws:
NullPointerException
- if either argument is null
-