EvolutionStep.java
package net.bmahe.genetics4j.extras.evolutionlisteners;
import java.util.Optional;
import org.immutables.value.Value;
import net.bmahe.genetics4j.core.Genotype;
@Value.Immutable
public interface EvolutionStep<T extends Comparable<T>, U> {
@Value.Parameter
Optional<U> context();
@Value.Parameter
long generation();
@Value.Parameter
int individualIndex();
@Value.Parameter
Genotype individual();
@Value.Parameter
T fitness();
@Value.Parameter
boolean isDone();
public static class Builder<T extends Comparable<T>, U> extends ImmutableEvolutionStep.Builder<T, U> {
}
public static <T extends Comparable<T>, U> EvolutionStep<T, U> of(final Optional<U> context, final long generation,
final int individualIndex, final Genotype individual, final T fitness, final boolean isDone) {
return ImmutableEvolutionStep.of(context, generation, individualIndex, individual, fitness, isDone);
}
}