jdsl.core.ref
Class ComparableComparator

java.lang.Object
  |
  +--jdsl.core.ref.ComparableComparator
All Implemented Interfaces:
Comparator, EqualityComparator

public class ComparableComparator
extends java.lang.Object
implements Comparator

Implementation of JDSL's Comparator interface in terms of the JDK's Comparable interface. Compares any two Comparables, regardless of their actual type.

Version:
JDSL 2.0.6
Author:
Mike Boilen (mgb)

Constructor Summary
ComparableComparator()
           
 
Method Summary
 int compare(java.lang.Object x1, java.lang.Object x2)
          Invokes the compareTo method of x1 on x2.
 boolean isComparable(java.lang.Object o)
          Allows a container (or any client) to find out whether an object is a member of the ordered set over which this comparator is defined.
 boolean isEqualTo(java.lang.Object x1, java.lang.Object x2)
          Tests the two parameter objects in the set over which the comparator is defined for equality.
 boolean isGreaterThan(java.lang.Object x1, java.lang.Object x2)
          Tests the strict order of two objects in the set over which this comparator is defined.
 boolean isGreaterThanOrEqualTo(java.lang.Object x1, java.lang.Object x2)
          Tests non-strict order of two objects in the universe over which this comparator is defined.
 boolean isLessThan(java.lang.Object x1, java.lang.Object x2)
          Tests the strict order of two objects in the set over which this comparator is defined.
 boolean isLessThanOrEqualTo(java.lang.Object x1, java.lang.Object x2)
          Tests non-strict order of two objects in the universe over which this comparator is defined.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComparableComparator

public ComparableComparator()
Method Detail

compare

public int compare(java.lang.Object x1,
                   java.lang.Object x2)
            throws java.lang.ClassCastException
Invokes the compareTo method of x1 on x2.
Specified by:
compare in interface Comparator
Parameters:
x1 - A Comparable to which x2 will be compared.
x2 - An Object which will be compared to x1
Throws:
java.lang.ClassCastException - if x1 is null or not a Comparable
See Also:
Comparable

isComparable

public boolean isComparable(java.lang.Object o)
Description copied from interface: EqualityComparator
Allows a container (or any client) to find out whether an object is a member of the ordered set over which this comparator is defined.
Specified by:
isComparable in interface EqualityComparator
Parameters:
o - Object you propose to compare with this comparator
Returns:
Whether o is a non-null Comparable
See Also:
Comparable

isGreaterThan

public boolean isGreaterThan(java.lang.Object x1,
                             java.lang.Object x2)
                      throws java.lang.ClassCastException
Description copied from interface: Comparator
Tests the strict order of two objects in the set over which this comparator is defined.
Specified by:
isGreaterThan in interface Comparator
Returns:
Whether x1 > x2

isLessThan

public boolean isLessThan(java.lang.Object x1,
                          java.lang.Object x2)
                   throws java.lang.ClassCastException
Description copied from interface: Comparator
Tests the strict order of two objects in the set over which this comparator is defined.
Specified by:
isLessThan in interface Comparator
Following copied from interface: jdsl.core.api.Comparator
Parameters:
a - First Object to compare
b - Second Object to compare
Returns:
True if and only if a is less than b
Throws:
java.lang.ClassCastException - If either object passed in as a parameter is not a member of the set over which the comparator is defined.

isEqualTo

public boolean isEqualTo(java.lang.Object x1,
                         java.lang.Object x2)
                  throws java.lang.ClassCastException
Description copied from interface: EqualityComparator
Tests the two parameter objects in the set over which the comparator is defined for equality.
Specified by:
isEqualTo in interface EqualityComparator
Following copied from interface: jdsl.core.api.EqualityComparator
Parameters:
a - First Object to compare
b - Second Object to compare
Returns:
True if and only if a is equal to b
Throws:
java.lang.ClassCastException - If either object passed in as a parameter is not a member of the set over which the comparator is defined.

isGreaterThanOrEqualTo

public boolean isGreaterThanOrEqualTo(java.lang.Object x1,
                                      java.lang.Object x2)
                               throws java.lang.ClassCastException
Description copied from interface: Comparator
Tests non-strict order of two objects in the universe over which this comparator is defined.
Specified by:
isGreaterThanOrEqualTo in interface Comparator
Following copied from interface: jdsl.core.api.Comparator
Parameters:
a - First Object to compare
b - Second Object to compare
Returns:
True if a is greater b or if a is equal to b
Throws:
java.lang.ClassCastException - If either object passed in as a parameter is not a member of the set over which the comparator is defined.

isLessThanOrEqualTo

public boolean isLessThanOrEqualTo(java.lang.Object x1,
                                   java.lang.Object x2)
                            throws java.lang.ClassCastException
Description copied from interface: Comparator
Tests non-strict order of two objects in the universe over which this comparator is defined.
Specified by:
isLessThanOrEqualTo in interface Comparator
Following copied from interface: jdsl.core.api.Comparator
Parameters:
a - First Object to compare
b - Second Object to compare
Returns:
True if a is less than b or if a is equal to b
Throws:
java.lang.ClassCastException - If either object passed in as a parameter is not a member of the set over which the comparator is defined.