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