1 package net.bmahe.genetics4j.gp.selection;
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 DoubleTournamentPolicyHandlerFactory<T extends Comparable<T>> implements SelectionPolicyHandlerFactory<T> {
11
12 @Override
13 public SelectionPolicyHandler<T> apply(final AbstractEAExecutionContext<T> eaExecutionContext) {
14 Objects.requireNonNull(eaExecutionContext);
15
16 final RandomGenerator randomGenerator = eaExecutionContext.randomGenerator();
17 return new DoubleTournamentSelectionPolicyHandler<>(randomGenerator);
18 }
19
20 }