1 | package net.bmahe.genetics4j.core.replacement; | |
2 | ||
3 | import org.apache.commons.lang3.Validate; | |
4 | ||
5 | import net.bmahe.genetics4j.core.selection.SelectionPolicyHandler; | |
6 | import net.bmahe.genetics4j.core.selection.SelectionPolicyHandlerResolver; | |
7 | import net.bmahe.genetics4j.core.selection.Selector; | |
8 | import net.bmahe.genetics4j.core.spec.AbstractEAConfiguration; | |
9 | import net.bmahe.genetics4j.core.spec.AbstractEAExecutionContext; | |
10 | import net.bmahe.genetics4j.core.spec.replacement.Elitism; | |
11 | import net.bmahe.genetics4j.core.spec.replacement.ReplacementStrategy; | |
12 | import net.bmahe.genetics4j.core.spec.selection.SelectionPolicy; | |
13 | ||
14 | public class ElitismReplacementStrategyHandler<T extends Comparable<T>> implements ReplacementStrategyHandler<T> { | |
15 | ||
16 | @Override | |
17 | public boolean canHandle(final ReplacementStrategy replacementStrategy) { | |
18 | Validate.notNull(replacementStrategy); | |
19 | ||
20 |
2
1. canHandle : replaced boolean return with true for net/bmahe/genetics4j/core/replacement/ElitismReplacementStrategyHandler::canHandle → SURVIVED 2. canHandle : replaced boolean return with false for net/bmahe/genetics4j/core/replacement/ElitismReplacementStrategyHandler::canHandle → KILLED |
return replacementStrategy instanceof Elitism; |
21 | } | |
22 | ||
23 | @Override | |
24 | public ReplacementStrategyImplementor<T> resolve(final AbstractEAExecutionContext<T> eaExecutionContext, | |
25 | final AbstractEAConfiguration<T> eaConfiguration, | |
26 | final SelectionPolicyHandlerResolver<T> selectionPolicyHandlerResolver, | |
27 | final ReplacementStrategy replacementStrategy) { | |
28 | Validate.notNull(eaExecutionContext); | |
29 | Validate.notNull(eaConfiguration); | |
30 | Validate.notNull(selectionPolicyHandlerResolver); | |
31 | Validate.notNull(replacementStrategy); | |
32 | Validate.isInstanceOf(Elitism.class, replacementStrategy); | |
33 | ||
34 | final Elitism elitism = (Elitism) replacementStrategy; | |
35 | ||
36 |
1
1. resolve : removed call to net/bmahe/genetics4j/core/spec/replacement/Elitism::offspringSelectionPolicy → KILLED |
final SelectionPolicy offspringSelectionPolicy = elitism.offspringSelectionPolicy(); |
37 | final SelectionPolicyHandler<T> offspringSelectionPolicyHandler = selectionPolicyHandlerResolver | |
38 |
1
1. resolve : removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandlerResolver::resolve → KILLED |
.resolve(offspringSelectionPolicy); |
39 | final Selector<T> offspringSelector = offspringSelectionPolicyHandler | |
40 |
1
1. resolve : removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandler::resolve → KILLED |
.resolve(eaExecutionContext, eaConfiguration, selectionPolicyHandlerResolver, offspringSelectionPolicy); |
41 | ||
42 |
1
1. resolve : removed call to net/bmahe/genetics4j/core/spec/replacement/Elitism::survivorSelectionPolicy → KILLED |
final SelectionPolicy survivorSelectionPolicy = elitism.survivorSelectionPolicy(); |
43 | final SelectionPolicyHandler<T> survivorSelectionPolicyHandler = selectionPolicyHandlerResolver | |
44 |
1
1. resolve : removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandlerResolver::resolve → KILLED |
.resolve(survivorSelectionPolicy); |
45 | final Selector<T> survivorSelector = survivorSelectionPolicyHandler | |
46 |
1
1. resolve : removed call to net/bmahe/genetics4j/core/selection/SelectionPolicyHandler::resolve → KILLED |
.resolve(eaExecutionContext, eaConfiguration, selectionPolicyHandlerResolver, survivorSelectionPolicy); |
47 | ||
48 |
2
1. resolve : removed call to net/bmahe/genetics4j/core/replacement/ElitismImpl::<init> → KILLED 2. resolve : replaced return value with null for net/bmahe/genetics4j/core/replacement/ElitismReplacementStrategyHandler::resolve → KILLED |
return new ElitismImpl<T>(elitism, offspringSelector, survivorSelector); |
49 | } | |
50 | } | |
Mutations | ||
20 |
1.1 2.2 |
|
36 |
1.1 |
|
38 |
1.1 |
|
40 |
1.1 |
|
42 |
1.1 |
|
44 |
1.1 |
|
46 |
1.1 |
|
48 |
1.1 2.2 |