View Javadoc
1   package net.bmahe.genetics4j.extras.evolutionlisteners;
2   
3   import java.util.Optional;
4   
5   import org.immutables.value.Value;
6   
7   import net.bmahe.genetics4j.core.Genotype;
8   
9   @Value.Immutable
10  public interface EvolutionStep<T extends Comparable<T>, U> {
11  
12  	@Value.Parameter
13  	Optional<U> context();
14  
15  	@Value.Parameter
16  	long generation();
17  
18  	@Value.Parameter
19  	int individualIndex();
20  
21  	@Value.Parameter
22  	Genotype individual();
23  
24  	@Value.Parameter
25  	T fitness();
26  
27  	@Value.Parameter
28  	boolean isDone();
29  
30  	public static class Builder<T extends Comparable<T>, U> extends ImmutableEvolutionStep.Builder<T, U> {
31  	}
32  
33  	public static <T extends Comparable<T>, U> EvolutionStep<T, U> of(final Optional<U> context, final long generation,
34  			final int individualIndex, final Genotype individual, final T fitness, final boolean isDone) {
35  
36  		return ImmutableEvolutionStep.of(context, generation, individualIndex, individual, fitness, isDone);
37  	}
38  
39  }