/**
*
*/
package vroom.common.utilities.optimization;
import java.util.Comparator;
/**
* <code>SolutionComparator</code> is a comparator for {@link ISolution solutions}.
* <p>
* Creation date: Nov 18, 2011 - 10:58:30 AM
*
* @author Victor Pillac, <a href="http://uniandes.edu.co">Universidad de Los Andes</a>-<a
* href="http://copa.uniandes.edu.co">Copa</a> <a href="http://www.emn.fr">Ecole des Mines de Nantes</a>-<a
* href="http://www.irccyn.ec-nantes.fr/irccyn/d/en/equipes/Slp">SLP</a>
* @version 1.0
*/
public class SolutionComparator<S extends ISolution> implements Comparator<S> {
private final OptimizationSense mSense;
/**
* Creates a new <code>SolutionComparator</code>
*
* @param optimizationSense
*/
public SolutionComparator(OptimizationSense optimizationSense) {
mSense = optimizationSense;
}
/* (non-Javadoc)
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
@Override
public int compare(S o1, S o2) {
if (o1 == o2)
return 0;
int comp = mSense.compare(o1, o2);
return comp == 0 ? -1 : comp;
}
}