1 package net.bmahe.genetics4j.core.replacement;
2
3 import net.bmahe.genetics4j.core.selection.SelectionPolicyHandlerResolver;
4 import net.bmahe.genetics4j.core.spec.AbstractEAConfiguration;
5 import net.bmahe.genetics4j.core.spec.AbstractEAExecutionContext;
6 import net.bmahe.genetics4j.core.spec.replacement.ReplacementStrategy;
7
8 public interface ReplacementStrategyHandler<T extends Comparable<T>> {
9
10 boolean canHandle(final ReplacementStrategy replacementStrategy);
11
12 ReplacementStrategyImplementor<T> resolve(final AbstractEAExecutionContext<T> eaExecutionContext,
13 final AbstractEAConfiguration<T> eaConfiguration,
14 final SelectionPolicyHandlerResolver<T> selectionPolicyHandlerResolver,
15 final ReplacementStrategy replacementStrategy);
16 }