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 }