Class ImmutableChromosomeFactoryProvider
java.lang.Object
net.bmahe.genetics4j.core.chromosomes.factory.ChromosomeFactoryProvider
net.bmahe.genetics4j.core.chromosomes.factory.ImmutableChromosomeFactoryProvider
@Generated(from="ChromosomeFactoryProvider",
generator="Immutables")
@Generated("org.immutables.processor.ProxyProcessor")
public final class ImmutableChromosomeFactoryProvider
extends ChromosomeFactoryProvider
Immutable implementation of
ChromosomeFactoryProvider.
Use the builder to create immutable instances:
ImmutableChromosomeFactoryProvider.builder().
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeChromosomeFactoryProvider.private final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final List<ChromosomeFactory<? extends Chromosome>> private final List<Function<ChromosomeFactoryProvider, ChromosomeFactory<? extends Chromosome>>> private final List<ChromosomeFactory<? extends Chromosome>> private final RandomGeneratorprivate static final byteprivate static final byteprivate static final byteFields inherited from class net.bmahe.genetics4j.core.chromosomes.factory.ChromosomeFactoryProvider
logger -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateImmutableChromosomeFactoryProvider(RandomGenerator randomGenerator, List<ChromosomeFactory<? extends Chromosome>> defaultChromosomeFactories, List<Function<ChromosomeFactoryProvider, ChromosomeFactory<? extends Chromosome>>> chromosomeFactoriesGenerator) private -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forChromosomeFactoryProvider.List<ChromosomeFactory<? extends Chromosome>> List<Function<ChromosomeFactoryProvider, ChromosomeFactory<? extends Chromosome>>> static ChromosomeFactoryProvidercopyOf(ChromosomeFactoryProvider instance) Creates an immutable copy of aChromosomeFactoryProvidervalue.private static <T> List<T> createSafeList(Iterable<? extends T> iterable, boolean checkNulls, boolean skipNulls) private static <T> List<T> createUnmodifiableList(boolean clone, List<? extends T> list) List<ChromosomeFactory<? extends Chromosome>> booleanThis instance is equal to all instances ofImmutableChromosomeFactoryProviderthat have equal attribute values.private booleaninthashCode()Computes a hash code from attributes:randomGenerator,defaultChromosomeFactories,chromosomeFactoriesGenerator,chromosomeFactories.toString()Prints the immutable valueChromosomeFactoryProviderwith attribute values.withChromosomeFactoriesGenerator(Iterable<? extends Function<ChromosomeFactoryProvider, ChromosomeFactory<? extends Chromosome>>> elements) Copy the current immutable object with elements that replace the content ofchromosomeFactoriesGenerator.withChromosomeFactoriesGenerator(Function<ChromosomeFactoryProvider, ChromosomeFactory<? extends Chromosome>>... elements) Copy the current immutable object with elements that replace the content ofchromosomeFactoriesGenerator.withDefaultChromosomeFactories(Iterable<? extends ChromosomeFactory<? extends Chromosome>> elements) Copy the current immutable object with elements that replace the content ofdefaultChromosomeFactories.withDefaultChromosomeFactories(ChromosomeFactory<? extends Chromosome>... elements) Copy the current immutable object with elements that replace the content ofdefaultChromosomeFactories.Copy the current immutable object by setting a value for therandomGeneratorattribute.Methods inherited from class net.bmahe.genetics4j.core.chromosomes.factory.ChromosomeFactoryProvider
provideChromosomeFactory
-
Field Details
-
randomGenerator
-
defaultChromosomeFactories
-
chromosomeFactoriesGenerator
private final List<Function<ChromosomeFactoryProvider,ChromosomeFactory<? extends Chromosome>>> chromosomeFactoriesGenerator -
chromosomeFactories
-
STAGE_INITIALIZING
private static final byte STAGE_INITIALIZING- See Also:
-
STAGE_UNINITIALIZED
private static final byte STAGE_UNINITIALIZED- See Also:
-
STAGE_INITIALIZED
private static final byte STAGE_INITIALIZED- See Also:
-
initShim
-
-
Constructor Details
-
ImmutableChromosomeFactoryProvider
-
ImmutableChromosomeFactoryProvider
private ImmutableChromosomeFactoryProvider(RandomGenerator randomGenerator, List<ChromosomeFactory<? extends Chromosome>> defaultChromosomeFactories, List<Function<ChromosomeFactoryProvider, ChromosomeFactory<? extends Chromosome>>> chromosomeFactoriesGenerator)
-
-
Method Details
-
randomGenerator
- Specified by:
randomGeneratorin classChromosomeFactoryProvider- Returns:
- The value of the
randomGeneratorattribute
-
defaultChromosomeFactories
- Overrides:
defaultChromosomeFactoriesin classChromosomeFactoryProvider- Returns:
- The value of the
defaultChromosomeFactoriesattribute
-
chromosomeFactoriesGenerator
public List<Function<ChromosomeFactoryProvider,ChromosomeFactory<? extends Chromosome>>> chromosomeFactoriesGenerator()- Specified by:
chromosomeFactoriesGeneratorin classChromosomeFactoryProvider- Returns:
- The value of the
chromosomeFactoriesGeneratorattribute
-
chromosomeFactories
- Overrides:
chromosomeFactoriesin classChromosomeFactoryProvider- Returns:
- The computed-at-construction value of the
chromosomeFactoriesattribute
-
withRandomGenerator
Copy the current immutable object by setting a value for therandomGeneratorattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for randomGenerator- Returns:
- A modified copy or the
thisobject
-
withDefaultChromosomeFactories
@SafeVarargs public final ImmutableChromosomeFactoryProvider withDefaultChromosomeFactories(ChromosomeFactory<? extends Chromosome>... elements) Copy the current immutable object with elements that replace the content ofdefaultChromosomeFactories.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withDefaultChromosomeFactories
public final ImmutableChromosomeFactoryProvider withDefaultChromosomeFactories(Iterable<? extends ChromosomeFactory<? extends Chromosome>> elements) Copy the current immutable object with elements that replace the content ofdefaultChromosomeFactories. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of defaultChromosomeFactories elements to set- Returns:
- A modified copy or
thisif not changed
-
withChromosomeFactoriesGenerator
@SafeVarargs public final ImmutableChromosomeFactoryProvider withChromosomeFactoriesGenerator(Function<ChromosomeFactoryProvider, ChromosomeFactory<? extends Chromosome>>... elements) Copy the current immutable object with elements that replace the content ofchromosomeFactoriesGenerator.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withChromosomeFactoriesGenerator
public final ImmutableChromosomeFactoryProvider withChromosomeFactoriesGenerator(Iterable<? extends Function<ChromosomeFactoryProvider, ChromosomeFactory<? extends Chromosome>>> elements) Copy the current immutable object with elements that replace the content ofchromosomeFactoriesGenerator. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of chromosomeFactoriesGenerator elements to set- Returns:
- A modified copy or
thisif not changed
-
equals
This instance is equal to all instances ofImmutableChromosomeFactoryProviderthat have equal attribute values. -
equalsByValue
-
hashCode
public int hashCode()Computes a hash code from attributes:randomGenerator,defaultChromosomeFactories,chromosomeFactoriesGenerator,chromosomeFactories. -
toString
Prints the immutable valueChromosomeFactoryProviderwith attribute values. -
copyOf
Creates an immutable copy of aChromosomeFactoryProvidervalue. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Parameters:
instance- The instance to copy- Returns:
- A copied immutable ChromosomeFactoryProvider instance
-
builder
Creates a builder forChromosomeFactoryProvider.ImmutableChromosomeFactoryProvider.builder() .randomGenerator(random.RandomGenerator) // requiredrandomGenerator.addDefaultChromosomeFactories|addAllDefaultChromosomeFactories(net.bmahe.genetics4j.core.chromosomes.factory.ChromosomeFactory<? extends net.bmahe.genetics4j.core.chromosomes.Chromosome>) //defaultChromosomeFactorieselements .addChromosomeFactoriesGenerator|addAllChromosomeFactoriesGenerator(function.Function<net.bmahe.genetics4j.core.chromosomes.factory.ChromosomeFactoryProvider, net.bmahe.genetics4j.core.chromosomes.factory.ChromosomeFactory<? extends net.bmahe.genetics4j.core.chromosomes.Chromosome>>) //chromosomeFactoriesGeneratorelements .build();- Returns:
- A new ChromosomeFactoryProvider builder
-
createSafeList
-
createUnmodifiableList
-