1 package net.bmahe.genetics4j.moo.nsga2.impl; 2 3 import java.util.random.RandomGenerator; 4 5 import org.apache.commons.lang3.Validate; 6 7 import net.bmahe.genetics4j.core.selection.SelectionPolicyHandler; 8 import net.bmahe.genetics4j.core.selection.TournamentSelectionPolicyHandler; 9 import net.bmahe.genetics4j.core.spec.AbstractEAExecutionContext; 10 import net.bmahe.genetics4j.core.spec.SelectionPolicyHandlerFactory; 11 12 public class TournamentNSGA2SelectionPolicyHandlerFactory<T extends Comparable<T>> 13 implements SelectionPolicyHandlerFactory<T> 14 { 15 16 @Override 17 public SelectionPolicyHandler<T> apply(final AbstractEAExecutionContext<T> abstractEAExecutionContext) { 18 Validate.notNull(abstractEAExecutionContext); 19 20 final RandomGenerator randomGenerator = abstractEAExecutionContext.randomGenerator(); 21 return new TournamentNSGA2SelectionPolicyHandler<T>(randomGenerator); 22 } 23 }