1 package net.bmahe.genetics4j.core.mutation;
2
3 import net.bmahe.genetics4j.core.spec.AbstractEAConfiguration;
4 import net.bmahe.genetics4j.core.spec.AbstractEAExecutionContext;
5 import net.bmahe.genetics4j.core.spec.mutation.MutationPolicy;
6
7 public interface MutationPolicyHandler<T extends Comparable<T>> {
8
9 boolean canHandle(final MutationPolicyHandlerResolver<T> mutationPolicyHandlerResolver,
10 final MutationPolicy mutationPolicy);
11
12 Mutator createMutator(final AbstractEAExecutionContext<T> eaExecutionContext,
13 final AbstractEAConfiguration<T> eaConfiguration,
14 final MutationPolicyHandlerResolver<T> mutationPolicyHandlerResolver, final MutationPolicy mutationPolicy);
15 }