| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.google.common.collect.ComparisonChain
public abstract class ComparisonChain
A utility for performing a "lazy" chained comparison statement, which performs comparisons only until it finds a nonzero result. For example:
   public int compareTo(Foo that) {
     return ComparisonChain.start()
         .compare(this.aString, that.aString)
         .compare(this.anInt, that.anInt)
         .compare(this.anEnum, that.anEnum, Ordering.natural().nullsLast())
         .result();
   }
 The value of this expression will have the same sign as the first
 nonzero comparison result in the chain, or will be zero if every
 comparison result was zero.
 Once any comparison returns a nonzero value, remaining comparisons are "short-circuited".
| Method Summary | ||
|---|---|---|
| abstract  ComparisonChain | compare(boolean left,
               boolean right)Compares two booleanvalues as specified byBooleans.compare(boolean, boolean), if the result of this comparison chain has not
 already been determined. | |
| abstract  ComparisonChain | compare(Comparable<?> left,
               Comparable<?> right)Compares two comparable objects as specified by Comparable.compareTo(T), if the result of this comparison chain
 has not already been determined. | |
| abstract  ComparisonChain | compare(double left,
               double right)Compares two doublevalues as specified byDouble.compare(double, double), if the result of this comparison chain has not
 already been determined. | |
| abstract  ComparisonChain | compare(float left,
               float right)Compares two floatvalues as specified byFloat.compare(float, float), if the result of this comparison chain has not
 already been determined. | |
| abstract  ComparisonChain | compare(int left,
               int right)Compares two intvalues as specified byInts.compare(int, int),
 if the result of this comparison chain has not already been
 determined. | |
| abstract  ComparisonChain | compare(long left,
               long right)Compares two longvalues as specified byLongs.compare(long, long),
 if the result of this comparison chain has not already been
 determined. | |
| abstract 
 | compare(T left,
               T right,
               Comparator<T> comparator)Compares two objects using a comparator, if the result of this comparison chain has not already been determined. | |
| abstract  int | result()Ends this comparison chain and returns its result: a value having the same sign as the first nonzero comparison result in the chain, or zero if every result was zero. | |
| static ComparisonChain | start()Begins a new chained comparison statement. | |
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Method Detail | 
|---|
public static ComparisonChain start()
public abstract ComparisonChain compare(Comparable<?> left,
                                        Comparable<?> right)
Comparable.compareTo(T), if the result of this comparison chain
 has not already been determined.
public abstract <T> ComparisonChain compare(@Nullable
                                            T left,
                                            @Nullable
                                            T right,
                                            Comparator<T> comparator)
public abstract ComparisonChain compare(int left,
                                        int right)
int values as specified by Ints.compare(int, int),
 if the result of this comparison chain has not already been
 determined.
public abstract ComparisonChain compare(long left,
                                        long right)
long values as specified by Longs.compare(long, long),
 if the result of this comparison chain has not already been
 determined.
public abstract ComparisonChain compare(float left,
                                        float right)
float values as specified by Float.compare(float, float), if the result of this comparison chain has not
 already been determined.
public abstract ComparisonChain compare(double left,
                                        double right)
double values as specified by Double.compare(double, double), if the result of this comparison chain has not
 already been determined.
public abstract ComparisonChain compare(boolean left,
                                        boolean right)
boolean values as specified by Booleans.compare(boolean, boolean), if the result of this comparison chain has not
 already been determined.
public abstract int result()
| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||