/**
   The Comparator interface specifies a collection comparison methods.
 
   @author      Franck van Breugel
   @version     1.2    June 20, 2000
*/
public interface Comparator 
{

    /** 
       Tests if the first specified object is less than the second one. 

       @param first object to be compared.
       @param second object to be compared.
       @return true if the first specified object is less than the second one,
       false otherwise.
    */
    public boolean isLessThan(Object first, Object second);

    /** 
       Tests if the first specified object is less than or equal to 
       the second one. 

       @param first object to be compared.
       @param second object to be compared.
       @return true if the first specified object is less than or equal to
       the second one, false otherwise.
     */
    public boolean isLessThanOrEqualTo(Object first, Object second);

    /** 
       Tests if the first specified object is equal to the second one. 

       @param first object to be compared.
       @param second object to be compared.
       @return true if the first specified object is equal to the second one,
       false otherwise.
    */
    public boolean isEqualTo(Object first, Object second);

    /** 
       Tests if the first specified object is greater than the second one. 

       @param first object to be compared.
       @param second object to be compared.
       @return true if the first specified object is greater than the second one,
       false otherwise.
    */
    public boolean isGreaterThan(Object first, Object second);

    /** 
       Tests if the first specified object is greater than or equal to 
       the second one. 

       @param first object to be compared.
       @param second object to be compared.
       @return true if the first specified object is greater than or equal to
       the second one, false otherwise.
    */
    public boolean isGreaterThanOrEqualTo(Object first, Object b);

    /** 
       Tests if the specified object is comparable. 

       @param object object to be checked to be comparable.
       @return true if the specified object is comparable, false otherwise.
    */
    public boolean isComparable(Object object);
}
