Class Comparison

  • Direct Known Subclasses:
    Comparison.DeadComparison

    public abstract class Comparison
    extends java.lang.Object
    Date: 30.08.2011
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Comparison()
      Private constructor for singleton pattern.
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      static Comparison begin()
      Begins a new comparison.
      static Comparison beginAllowNull()
      Begins a new comparison, but allows for null values to be passed.
      private Comparison checkResult​(int result)
      Checks to see which comparison to return.
      Comparison compare​(boolean left, boolean right)
      Compares the left boolean to the double boolean.
      Comparison compare​(double left, double right)
      Compares the left double to the double integer.
      Comparison compare​(float left, float right)
      Compares the left float to the float integer.
      Comparison compare​(int left, int right)
      Compares the left integer to the right integer.
      Comparison compare​(long left, long right)
      Compares the left long to the right long.
      abstract Comparison compare​(java.lang.Comparable<?> left, java.lang.Comparable<?> right)
      Compares the left comparable to the right as specified by the Comparable.compareTo(Object) interface.
      abstract <T> Comparison compare​(T left, T right, java.util.Comparator<T> comparator)
      Compares the left object to the right object as specified by the Comparator.compare(Object, Object) interface.
      protected abstract Comparison getInstance()
      Returns the comparison instance being used.
      int result()
      Ends the comparison and returns 0 if all comparisons were equal, -1 if the any of the left comparisons were less than the right comparisons or 1 if any of the right comparisons were less than the left.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Comparison

        private Comparison()
        Private constructor for singleton pattern.
    • Method Detail

      • begin

        public static Comparison begin()
        Begins a new comparison.
        Returns:
        the comparison.
      • beginAllowNull

        public static Comparison beginAllowNull()
        Begins a new comparison, but allows for null values to be passed.

        If the first value is null and the second value is non-null, the comparison will return -1. If the first value is non-null and the second value is null, the comparison will return 1. If both values are null 0 is returned.

        Returns:
        the comparison.
      • compare

        public abstract Comparison compare​(java.lang.Comparable<?> left,
                                           java.lang.Comparable<?> right)
        Compares the left comparable to the right as specified by the Comparable.compareTo(Object) interface.
        Parameters:
        left - the object to compare to the right.
        right - the object compared to the left.
        Returns:
        the the same instance if the objects are equal, otherwise a comparison that will return a defined value.
      • compare

        public abstract <T> Comparison compare​(T left,
                                               T right,
                                               java.util.Comparator<T> comparator)
        Compares the left object to the right object as specified by the Comparator.compare(Object, Object) interface.
        Type Parameters:
        T - the type of the object to the compared.
        Parameters:
        left - the object to compare to the right.
        right - the object compared to the left.
        comparator - the comparator used to compare the objects.
        Returns:
        the the same instance if the objects are equal, otherwise a comparison that will return a defined value.
      • compare

        public Comparison compare​(int left,
                                  int right)
        Compares the left integer to the right integer.
        Parameters:
        left - the integer to compare to the right.
        right - the integer compared to the left.
        Returns:
        the the same instance if the integers are equal, otherwise a comparison that will return a defined value.
      • compare

        public Comparison compare​(long left,
                                  long right)
        Compares the left long to the right long.
        Parameters:
        left - the long to compare to the right.
        right - the long compared to the left.
        Returns:
        the the same instance if the longs are equal, otherwise a comparison that will return a defined value.
      • compare

        public Comparison compare​(float left,
                                  float right)
        Compares the left float to the float integer.
        Parameters:
        left - the float to compare to the right.
        right - the float compared to the left.
        Returns:
        the the same instance if the floats are equal, otherwise a comparison that will return a defined value.
      • compare

        public Comparison compare​(double left,
                                  double right)
        Compares the left double to the double integer.
        Parameters:
        left - the double to compare to the right.
        right - the double compared to the left.
        Returns:
        the the same instance if the doubles are equal, otherwise a comparison that will return a defined value.
      • compare

        public Comparison compare​(boolean left,
                                  boolean right)
        Compares the left boolean to the double boolean.
        Parameters:
        left - the boolean to compare to the right.
        right - the boolean compared to the left.
        Returns:
        the the same instance if the booleans are equal, otherwise a comparison that will return a defined value.
      • result

        public int result()
        Ends the comparison and returns 0 if all comparisons were equal, -1 if the any of the left comparisons were less than the right comparisons or 1 if any of the right comparisons were less than the left.
        Returns:
        zero if equal, otherwise the a value with the same sign as the first non-equal comparison.
      • getInstance

        protected abstract Comparison getInstance()
        Returns the comparison instance being used.
        Returns:
        the comparison instance being used.
      • checkResult

        private Comparison checkResult​(int result)
        Checks to see which comparison to return.
        Parameters:
        result - the result of the comparison.
        Returns:
        the comparison that should be used.