MOEA Framework 2.12
API Specification

org.moeaframework.core.comparator
Class ChainedComparator

java.lang.Object
  extended by org.moeaframework.core.comparator.ChainedComparator
All Implemented Interfaces:
Serializable, DominanceComparator
Direct Known Subclasses:
LinearDominanceComparator, MinMaxDominanceComparator, NondominatedSortingComparator, ParetoDominanceComparator

public class ChainedComparator
extends Object
implements DominanceComparator, Serializable

Applies any number of comparators in succession, returning the result from the first comparator producing a non-zero return value. If no comparators produce a non-zero return value, 0 is returned.

For example, the following:

 Comparator comparator = new ChainedComparator(comparator1, comparator2); 
 return comparator.compare(s1, s2);
 
is equivalent to
 int flag1 = comparator1.compare(s1, s2);
 if (flag1 == 0) {
   return comparator2.compare(s1, s2);
 } else {
   return flag1;
 }
 

See Also:
Serialized Form

Constructor Summary
ChainedComparator(DominanceComparator... comparators)
          Constructs a chained comparator for applying the specified comparators in order, returning the result from the first comparator producing a non-zero return value.
 
Method Summary
 int compare(Solution solution1, Solution solution2)
          Compares the two solutions using a dominance relation, returning -1 if solution1 dominates solution2, 1 if solution2 dominates solution1, and 0 if the solutions are non-dominated.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ChainedComparator

public ChainedComparator(DominanceComparator... comparators)
Constructs a chained comparator for applying the specified comparators in order, returning the result from the first comparator producing a non-zero return value. If no comparators produce a non-zero return value, 0 is returned.

Parameters:
comparators - the comparators in the order they are to be applied
Method Detail

compare

public int compare(Solution solution1,
                   Solution solution2)
Description copied from interface: DominanceComparator
Compares the two solutions using a dominance relation, returning -1 if solution1 dominates solution2, 1 if solution2 dominates solution1, and 0 if the solutions are non-dominated.

Specified by:
compare in interface DominanceComparator
Parameters:
solution1 - the first solution
solution2 - the second solution
Returns:
-1 if solution1 dominates solution2, 1 if solution2 dominates solution1, and 0 if the solutions are non-dominated

MOEA Framework 2.12
API Specification

Copyright 2009-2016 MOEA Framework. All rights reserved.
Licensed under the GNU Lesser General Public License.
Return to the MOEA Framework homepage. Visit us on Github!