Package net.bmahe.genetics4j.core.spec
Class ImmutableEAConfiguration.Builder<T extends Comparable<T>>
java.lang.Object
net.bmahe.genetics4j.core.spec.ImmutableEAConfiguration.Builder<T>
- Direct Known Subclasses:
EAConfiguration.Builder
- Enclosing class:
ImmutableEAConfiguration<T extends Comparable<T>>
@Generated(from="EAConfiguration",
generator="Immutables")
public static class ImmutableEAConfiguration.Builder<T extends Comparable<T>>
extends Object
Builds instances of type
EAConfiguration.
Initialize attributes and then invoke the build() method to create an
immutable instance.
Builder is not thread-safe and generally should not be stored in a field or collection,
but instead used immediately to create instances.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate List<ChromosomeSpec> private CombinationPolicyprivate GenotypeCombinatorprivate static final longprivate static final longprivate static final longprivate static final longprivate longprivate List<MutationPolicy> private doubleprivate static final longprivate longprivate Optimizationprivate SelectionPolicyprivate PostEvaluationProcessor<T> private ReplacementStrategyprivate Collection<Genotype> private Termination<T> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal EAConfiguration.Builder<T> addAllChromosomeSpecs(Iterable<? extends ChromosomeSpec> elements) Adds elements tochromosomeSpecslist.final EAConfiguration.Builder<T> addAllMutationPolicies(Iterable<? extends MutationPolicy> elements) Adds elements tomutationPolicieslist.final EAConfiguration.Builder<T> addChromosomeSpecs(ChromosomeSpec element) Adds one element tochromosomeSpecslist.final EAConfiguration.Builder<T> addChromosomeSpecs(ChromosomeSpec... elements) Adds elements tochromosomeSpecslist.final EAConfiguration.Builder<T> addMutationPolicies(MutationPolicy element) Adds one element tomutationPolicieslist.final EAConfiguration.Builder<T> addMutationPolicies(MutationPolicy... elements) Adds elements tomutationPolicieslist.build()Builds a newEAConfiguration.final EAConfiguration.Builder<T> chromosomeSpecs(Iterable<? extends ChromosomeSpec> elements) Sets or replaces all elements forchromosomeSpecslist.final EAConfiguration.Builder<T> combinationPolicy(CombinationPolicy combinationPolicy) Initializes the value for thecombinationPolicyattribute.final EAConfiguration.Builder<T> Initializes the value for thefitnessattribute.private Stringfinal EAConfiguration.Builder<T> from(EAConfiguration<T> instance) Fill a builder with attribute values from the providedEAConfigurationinstance.final EAConfiguration.Builder<T> genotypeCombinator(GenotypeCombinator genotypeCombinator) Initializes the value for thegenotypeCombinatorattribute.final EAConfiguration.Builder<T> genotypeGenerator(Supplier<Genotype> genotypeGenerator) Initializes the optional valuegenotypeGeneratorto genotypeGenerator.final EAConfiguration.Builder<T> genotypeGenerator(Optional<? extends Supplier<Genotype>> genotypeGenerator) Initializes the optional valuegenotypeGeneratorto genotypeGenerator.final EAConfiguration.Builder<T> mutationPolicies(Iterable<? extends MutationPolicy> elements) Sets or replaces all elements formutationPolicieslist.final EAConfiguration.Builder<T> offspringGeneratedRatio(double offspringGeneratedRatio) Initializes the value for theoffspringGeneratedRatioattribute.private booleanfinal EAConfiguration.Builder<T> optimization(Optimization optimization) Initializes the value for theoptimizationattribute.final EAConfiguration.Builder<T> parentSelectionPolicy(SelectionPolicy parentSelectionPolicy) Initializes the value for theparentSelectionPolicyattribute.final EAConfiguration.Builder<T> postEvaluationProcessor(Optional<? extends PostEvaluationProcessor<T>> postEvaluationProcessor) Initializes the optional valuepostEvaluationProcessorto postEvaluationProcessor.final EAConfiguration.Builder<T> postEvaluationProcessor(PostEvaluationProcessor<T> postEvaluationProcessor) Initializes the optional valuepostEvaluationProcessorto postEvaluationProcessor.final EAConfiguration.Builder<T> replacementStrategy(ReplacementStrategy replacementStrategy) Initializes the value for thereplacementStrategyattribute.final EAConfiguration.Builder<T> seedPopulation(Collection<Genotype> seedPopulation) Initializes the value for theseedPopulationattribute.final EAConfiguration.Builder<T> termination(Termination<T> termination) Initializes the value for theterminationattribute.
-
Field Details
-
INIT_BIT_PARENT_SELECTION_POLICY
private static final long INIT_BIT_PARENT_SELECTION_POLICY- See Also:
-
INIT_BIT_COMBINATION_POLICY
private static final long INIT_BIT_COMBINATION_POLICY- See Also:
-
INIT_BIT_TERMINATION
private static final long INIT_BIT_TERMINATION- See Also:
-
INIT_BIT_FITNESS
private static final long INIT_BIT_FITNESS- See Also:
-
OPT_BIT_OFFSPRING_GENERATED_RATIO
private static final long OPT_BIT_OFFSPRING_GENERATED_RATIO- See Also:
-
initBits
private long initBits -
optBits
private long optBits -
chromosomeSpecs
-
parentSelectionPolicy
-
combinationPolicy
-
mutationPolicies
-
replacementStrategy
-
postEvaluationProcessor
-
termination
-
genotypeGenerator
-
seedPopulation
-
genotypeCombinator
-
offspringGeneratedRatio
private double offspringGeneratedRatio -
optimization
-
fitness
-
-
Constructor Details
-
Builder
public Builder()Creates a builder forEAConfigurationinstances.new EAConfiguration.Builder<T>() .addChromosomeSpecs|addAllChromosomeSpecs(net.bmahe.genetics4j.core.spec.chromosome.ChromosomeSpec) //chromosomeSpecselements .parentSelectionPolicy(net.bmahe.genetics4j.core.spec.selection.SelectionPolicy) // requiredparentSelectionPolicy.combinationPolicy(net.bmahe.genetics4j.core.spec.combination.CombinationPolicy) // requiredcombinationPolicy.addMutationPolicies|addAllMutationPolicies(net.bmahe.genetics4j.core.spec.mutation.MutationPolicy) //mutationPolicieselements .replacementStrategy(net.bmahe.genetics4j.core.spec.replacement.ReplacementStrategy) // optionalreplacementStrategy.postEvaluationProcessor(Optional<net.bmahe.genetics4j.core.spec.PostEvaluationProcessor<T>>) // optionalpostEvaluationProcessor.termination(net.bmahe.genetics4j.core.termination.Termination<T>) // requiredtermination.genotypeGenerator(Optional<function.Supplier<net.bmahe.genetics4j.core.Genotype>>) // optionalgenotypeGenerator.seedPopulation(Collection<net.bmahe.genetics4j.core.Genotype>) // optionalseedPopulation.genotypeCombinator(net.bmahe.genetics4j.core.combination.GenotypeCombinator) // optionalgenotypeCombinator.offspringGeneratedRatio(double) // optionaloffspringGeneratedRatio.optimization(net.bmahe.genetics4j.core.spec.Optimization) // optionaloptimization.fitness(net.bmahe.genetics4j.core.Fitness<T>) // requiredfitness.build();
-
-
Method Details
-
from
Fill a builder with attribute values from the providedEAConfigurationinstance. Regular attribute values will be replaced with those from the given instance. Absent optional values will not replace present values. Collection elements and entries will be added, not replaced.- Parameters:
instance- The instance from which to copy values- Returns:
thisbuilder for use in a chained invocation
-
addChromosomeSpecs
Adds one element tochromosomeSpecslist.- Parameters:
element- A chromosomeSpecs element- Returns:
thisbuilder for use in a chained invocation
-
addChromosomeSpecs
Adds elements tochromosomeSpecslist.- Parameters:
elements- An array of chromosomeSpecs elements- Returns:
thisbuilder for use in a chained invocation
-
chromosomeSpecs
public final EAConfiguration.Builder<T> chromosomeSpecs(Iterable<? extends ChromosomeSpec> elements) Sets or replaces all elements forchromosomeSpecslist.- Parameters:
elements- An iterable of chromosomeSpecs elements- Returns:
thisbuilder for use in a chained invocation
-
addAllChromosomeSpecs
public final EAConfiguration.Builder<T> addAllChromosomeSpecs(Iterable<? extends ChromosomeSpec> elements) Adds elements tochromosomeSpecslist.- Parameters:
elements- An iterable of chromosomeSpecs elements- Returns:
thisbuilder for use in a chained invocation
-
parentSelectionPolicy
public final EAConfiguration.Builder<T> parentSelectionPolicy(SelectionPolicy parentSelectionPolicy) Initializes the value for theparentSelectionPolicyattribute.- Parameters:
parentSelectionPolicy- The value for parentSelectionPolicy- Returns:
thisbuilder for use in a chained invocation
-
combinationPolicy
Initializes the value for thecombinationPolicyattribute.- Parameters:
combinationPolicy- The value for combinationPolicy- Returns:
thisbuilder for use in a chained invocation
-
addMutationPolicies
Adds one element tomutationPolicieslist.- Parameters:
element- A mutationPolicies element- Returns:
thisbuilder for use in a chained invocation
-
addMutationPolicies
Adds elements tomutationPolicieslist.- Parameters:
elements- An array of mutationPolicies elements- Returns:
thisbuilder for use in a chained invocation
-
mutationPolicies
public final EAConfiguration.Builder<T> mutationPolicies(Iterable<? extends MutationPolicy> elements) Sets or replaces all elements formutationPolicieslist.- Parameters:
elements- An iterable of mutationPolicies elements- Returns:
thisbuilder for use in a chained invocation
-
addAllMutationPolicies
public final EAConfiguration.Builder<T> addAllMutationPolicies(Iterable<? extends MutationPolicy> elements) Adds elements tomutationPolicieslist.- Parameters:
elements- An iterable of mutationPolicies elements- Returns:
thisbuilder for use in a chained invocation
-
replacementStrategy
public final EAConfiguration.Builder<T> replacementStrategy(ReplacementStrategy replacementStrategy) Initializes the value for thereplacementStrategyattribute.If not set, this attribute will have a default value as returned by the initializer of
replacementStrategy.- Parameters:
replacementStrategy- The value for replacementStrategy- Returns:
thisbuilder for use in a chained invocation
-
postEvaluationProcessor
public final EAConfiguration.Builder<T> postEvaluationProcessor(PostEvaluationProcessor<T> postEvaluationProcessor) Initializes the optional valuepostEvaluationProcessorto postEvaluationProcessor.- Parameters:
postEvaluationProcessor- The value for postEvaluationProcessor- Returns:
thisbuilder for chained invocation
-
postEvaluationProcessor
public final EAConfiguration.Builder<T> postEvaluationProcessor(Optional<? extends PostEvaluationProcessor<T>> postEvaluationProcessor) Initializes the optional valuepostEvaluationProcessorto postEvaluationProcessor.- Parameters:
postEvaluationProcessor- The value for postEvaluationProcessor- Returns:
thisbuilder for use in a chained invocation
-
termination
Initializes the value for theterminationattribute.- Parameters:
termination- The value for termination- Returns:
thisbuilder for use in a chained invocation
-
genotypeGenerator
Initializes the optional valuegenotypeGeneratorto genotypeGenerator.- Parameters:
genotypeGenerator- The value for genotypeGenerator- Returns:
thisbuilder for chained invocation
-
genotypeGenerator
public final EAConfiguration.Builder<T> genotypeGenerator(Optional<? extends Supplier<Genotype>> genotypeGenerator) Initializes the optional valuegenotypeGeneratorto genotypeGenerator.- Parameters:
genotypeGenerator- The value for genotypeGenerator- Returns:
thisbuilder for use in a chained invocation
-
seedPopulation
Initializes the value for theseedPopulationattribute.If not set, this attribute will have a default value as returned by the initializer of
seedPopulation.- Parameters:
seedPopulation- The value for seedPopulation- Returns:
thisbuilder for use in a chained invocation
-
genotypeCombinator
Initializes the value for thegenotypeCombinatorattribute.If not set, this attribute will have a default value as returned by the initializer of
genotypeCombinator.- Parameters:
genotypeCombinator- The value for genotypeCombinator- Returns:
thisbuilder for use in a chained invocation
-
offspringGeneratedRatio
Initializes the value for theoffspringGeneratedRatioattribute.If not set, this attribute will have a default value as returned by the initializer of
offspringGeneratedRatio.- Parameters:
offspringGeneratedRatio- The value for offspringGeneratedRatio- Returns:
thisbuilder for use in a chained invocation
-
optimization
Initializes the value for theoptimizationattribute.If not set, this attribute will have a default value as returned by the initializer of
optimization.- Parameters:
optimization- The value for optimization- Returns:
thisbuilder for use in a chained invocation
-
fitness
Initializes the value for thefitnessattribute.- Parameters:
fitness- The value for fitness- Returns:
thisbuilder for use in a chained invocation
-
build
Builds a newEAConfiguration.- Returns:
- An immutable instance of EAConfiguration
- Throws:
IllegalStateException- if any required attributes are missing
-
offspringGeneratedRatioIsSet
private boolean offspringGeneratedRatioIsSet() -
formatRequiredAttributesMessage
-