/* --------------------------------------------------------------------

Sorter Interface

Copyright (c) 1996 by Christopher R. Waterson. All Rights Reserved.
Permission to use, copy, modify, and distribute this software
and its documentation for NON-COMMERCIAL purposes and without
fee is hereby granted provided that this copyright notice
appears in all copies.

$Id$

File:		Sorter.java
Synopsis:	An interface that defines how sorting utility classes behave
Author:		Christopher R. Waterson <waterson@eecs.umich.edu>
Created:	04 March 1996
Updated:	Christopher R. Waterson <waterson@eecs.umich.edu>
Last Modified:	31 October 1996

-------------------------------------------------------------------- */

package eightpuzzle;

/**
 * An entity that can be used to compare two objects
 */

public interface Sorter {

	/**
	 * Compare <B>object1</B> to <B>object2</B>, and return <B>true</B> if
	 * <B>object1</B> is <EM>strictly greater than</EM> <B>object2</B> (i.e.,
	 * <CODE>object1 &gt; object2</CODE>), <B>false</B> if it is not.
	 *
	 * @param object1 the first object
	 * @param object2 the second object
	 * @return <B>True</B> if <B>object1</B> is strictly greater
	 * than <B>object2</B>, <B>false</B> otherwise.
	 */

	public abstract boolean greaterThan(Object object1, Object object2);


	/**
	 * Compare <B>object1</B> to <B>object2</B>, and return <B>true</B> if
	 * <B>object1</B> is <EM>strictly less than</E> <B>object2</B> (i.e.,
	 * <CODE>object1 &lt; object2</CODE), <B>false</B> if it is not.
	 *
	 * @param object1 the first object
	 * @param object2 the second object
	 * @return <B>True</B> if <B>object1</B> is strictly less
	 * than <B>object2</B>, <B>false</B> otherwise.
	 */

	public abstract boolean lessThan(Object object1, Object object2);
}



