Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2007 The Guava Authors
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package com.google.common.collect;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
 
 
 import  javax.annotation.Nullable;

An ordering that uses the reverse of a given order.
 
 @GwtCompatible(serializable = true)
 final class ReverseOrdering<T> extends Ordering<T> implements Serializable {
   final Ordering<? super T> forwardOrder;
 
   ReverseOrdering(Ordering<? super T> forwardOrder) {
     this. = checkNotNull(forwardOrder);
   }
 
   @Override public int compare(T a, T b) {
     return .compare(ba);
   }
 
   @SuppressWarnings("unchecked"// how to explain?
   @Override public <S extends T> Ordering<S> reverse() {
     return (Ordering<S>) ;
   }
 
   // Override the min/max methods to "hoist" delegation outside loops
 
   @Override public <E extends T> E min(E a, E b) {
     return .max(ab);
   }
 
   @Override public <E extends T> E min(E a, E b, E c, E... rest) {
     return .max(abcrest);
   }
 
   @Override public <E extends T> E min(Iterator<E> iterator) {
     return .max(iterator);
   }
 
   @Override public <E extends T> E min(Iterable<E> iterable) {
     return .max(iterable);
   }
 
   @Override public <E extends T> E max(E a, E b) {
     return .min(ab);
   }
 
   @Override public <E extends T> E max(E a, E b, E c, E... rest) {
     return .min(abcrest);
   }
 
   @Override public <E extends T> E max(Iterator<E> iterator) {
     return .min(iterator);
   }
 
   @Override public <E extends T> E max(Iterable<E> iterable) {
     return .min(iterable);
   }
 
   @Override public int hashCode() {
     return -.hashCode();
   }
 
   @Override public boolean equals(@Nullable Object object) {
     if (object == this) {
       return true;
     }
     if (object instanceof ReverseOrdering) {
       ReverseOrdering<?> that = (ReverseOrdering<?>) object;
       return this..equals(that.forwardOrder);
     }
     return false;
   }
 
   @Override public String toString() {
     return  + ".reverse()";
   }
 
   private static final long serialVersionUID = 0;
New to GrepCode? Check out our FAQ X