Package org.jboss.logging.processor.util

## Class Comparison

- java.lang.Object
- - org.jboss.logging.processor.util.Comparison

    public abstract class Comparison
    extends Object

Date: 30.08.2011

Author:
  James R. Perkins

### Field Summary

Fields
`static int` `EQUAL`
`static int` `GREATER`
`static int` `LESS`

### Method Summary

All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
`static Comparison` `begin​()` Begins a new comparison.
`static Comparison` `beginAllowNull​()` Begins a new comparison, but allows for `null` values to be passed.
`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​(Comparable<?> left, 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, Comparator<T> comparator)` Compares the left object to the right object as specified by the `Comparator.compare(Object, Object)` interface.
`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

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### EQUAL

    public static final int EQUAL

See Also:
  Constant Field Values

#### LESS

    public static final int LESS

See Also:
  Constant Field Values

#### GREATER

    public static final int GREATER

See Also:
  Constant Field Values

### 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​(Comparable<?> left,
                                       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,
                                           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.