View Javadoc
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  }