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