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
Modifier and Type
Field
Description
`static final int`
`EQUAL`
`static final int`
`GREATER`
`static final int`
`LESS`

## Method Summary

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.
`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 Details

### 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 Details

### 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.