Lines Matching defs:Ordering

48  * <p>The common ways to get an instance of {@code Ordering} are:
55 * <li>Use the natural ordering, {@link Ordering#natural}
59 * that {@code Ordering}, including:
68 * <p>Finally, use the resulting {@code Ordering} anywhere a {@link Comparator}
84 * {@code Ordering}</a>.
91 public abstract class Ordering<T> implements Comparator<T> {
105 public static <C extends Comparable> Ordering<C> natural() {
106 return (Ordering<C>) NaturalOrdering.INSTANCE;
115 * subclass {@code Ordering} and implement its {@code compare} method
119 * @return comparator itself if it is already an {@code Ordering}; otherwise
123 public static <T> Ordering<T> from(Comparator<T> comparator) {
124 return (comparator instanceof Ordering)
125 ? (Ordering<T>) comparator
135 @Deprecated public static <T> Ordering<T> from(Ordering<T> ordering) {
161 public static <T> Ordering<T> explicit(List<T> valuesInOrder) {
189 public static <T> Ordering<T> explicit(
194 // Ordering<Object> singletons
205 * Ordering.allEqual().nullsLast().sortedCopy(
224 public static Ordering<Object> allEqual() {
236 public static Ordering<Object> usingToString() {
256 public static Ordering<Object> arbitrary() {
261 static final Ordering<Object> ARBITRARY_ORDERING = new ArbitraryOrdering();
264 @VisibleForTesting static class ArbitraryOrdering extends Ordering<Object> {
299 return "Ordering.arbitrary()";
321 protected Ordering() {}
326 * Returns the reverse of this ordering; the {@code Ordering} equivalent to
330 // Ordering<String> o = Ordering.<String>natural().reverse();
332 public <S extends T> Ordering<S> reverse() {
341 // Ordering<String> o = Ordering.<String>natural().nullsFirst();
343 public <S extends T> Ordering<S> nullsFirst() {
352 // Ordering<String> o = Ordering.<String>natural().nullsLast();
354 public <S extends T> Ordering<S> nullsLast() {
364 * Ordering.from(String.CASE_INSENSITIVE_ORDER)
368 public <F> Ordering<F> onResultOf(Function<F, ? extends T> function) {
372 <T2 extends T> Ordering<Map.Entry<T2, ?>> onKeys() {
384 * is equivalent to one created using {@link Ordering#compound(Iterable)} on
388 public <U extends T> Ordering<U> compound(
401 * Ordering.from(comp1).compound(comp2).compound(comp3) . . .}.
409 public static <T> Ordering<T> compound(
430 // Ordering<Iterable<String>> o =
431 // Ordering.<String>natural().lexicographical();
432 public <S extends T> Ordering<Iterable<S>> lexicographical() {
905 * Exception thrown by a {@link Ordering#explicit(List)} or {@link
906 * Ordering#explicit(Object, Object[])} comparator when comparing a value