MOEA Framework 2.5
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:
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.5
API Specification

Copyright 2009-2015 MOEA Framework. All rights reserved.
Licensed under the GNU Lesser General Public License.
Return to the MOEA Framework homepage. Hosted by Get MOEA Framework at SourceForge.net. Fast, secure and Free Open Source software downloads