Class ImmutableFitnessSharing<T extends Comparable<T>>
java.lang.Object
net.bmahe.genetics4j.core.postevaluationprocess.FitnessSharing<T>
net.bmahe.genetics4j.core.postevaluationprocess.ImmutableFitnessSharing<T>
- All Implemented Interfaces:
PostEvaluationProcessor<T>
@Generated(from="FitnessSharing",
generator="Immutables")
@Generated("org.immutables.processor.ProxyProcessor")
public final class ImmutableFitnessSharing<T extends Comparable<T>>
extends FitnessSharing<T>
Immutable implementation of
FitnessSharing.
Use the builder to create immutable instances:
ImmutableFitnessSharing.builder().
Use the static factory method to create immutable instances:
ImmutableFitnessSharing.of().
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classImmutableFitnessSharing.Builder<T extends Comparable<T>>Builds instances of typeFitnessSharing. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final BiFunction<Genotype, Genotype, Double> private final BiFunction<Individual<T>, Double, T> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateImmutableFitnessSharing(BiFunction<Genotype, Genotype, Double> distance, Function<Double, Double> sharing, BiFunction<Individual<T>, Double, T> scaleFitness) privateImmutableFitnessSharing(ImmutableFitnessSharing<T> original, BiFunction<Genotype, Genotype, Double> distance, Function<Double, Double> sharing, BiFunction<Individual<T>, Double, T> scaleFitness) -
Method Summary
Modifier and TypeMethodDescriptionstatic <T extends Comparable<T>>
ImmutableFitnessSharing.Builder<T> builder()Creates a builder forFitnessSharing.static <T extends Comparable<T>>
FitnessSharing<T> copyOf(FitnessSharing<T> instance) Creates an immutable copy of aFitnessSharingvalue.distance()booleanThis instance is equal to all instances ofImmutableFitnessSharingthat have equal attribute values.private booleanequalsByValue(ImmutableFitnessSharing<?> another) inthashCode()Computes a hash code from attributes:distance,sharing,scaleFitness.static <T extends Comparable<T>>
FitnessSharing<T> of(BiFunction<Genotype, Genotype, Double> distance, Function<Double, Double> sharing, BiFunction<Individual<T>, Double, T> scaleFitness) Construct a new immutableFitnessSharinginstance.sharing()toString()Prints the immutable valueFitnessSharingwith attribute values.final ImmutableFitnessSharing<T> withDistance(BiFunction<Genotype, Genotype, Double> value) Copy the current immutable object by setting a value for thedistanceattribute.final ImmutableFitnessSharing<T> withScaleFitness(BiFunction<Individual<T>, Double, T> value) Copy the current immutable object by setting a value for thescaleFitnessattribute.final ImmutableFitnessSharing<T> withSharing(Function<Double, Double> value) Copy the current immutable object by setting a value for thesharingattribute.Methods inherited from class net.bmahe.genetics4j.core.postevaluationprocess.FitnessSharing
apply, of, ofFloatFitness, ofStandard, ofStandard
-
Field Details
-
distance
-
sharing
-
scaleFitness
private final BiFunction<Individual<T extends Comparable<T>>,Double, scaleFitnessT extends Comparable<T>>
-
-
Constructor Details
-
ImmutableFitnessSharing
private ImmutableFitnessSharing(BiFunction<Genotype, Genotype, Double> distance, Function<Double, Double> sharing, BiFunction<Individual<T>, Double, T> scaleFitness) -
ImmutableFitnessSharing
private ImmutableFitnessSharing(ImmutableFitnessSharing<T> original, BiFunction<Genotype, Genotype, Double> distance, Function<Double, Double> sharing, BiFunction<Individual<T>, Double, T> scaleFitness)
-
-
Method Details
-
distance
- Specified by:
distancein classFitnessSharing<T extends Comparable<T>>- Returns:
- The value of the
distanceattribute
-
sharing
- Specified by:
sharingin classFitnessSharing<T extends Comparable<T>>- Returns:
- The value of the
sharingattribute
-
scaleFitness
- Specified by:
scaleFitnessin classFitnessSharing<T extends Comparable<T>>- Returns:
- The value of the
scaleFitnessattribute
-
withDistance
Copy the current immutable object by setting a value for thedistanceattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for distance- Returns:
- A modified copy or the
thisobject
-
withSharing
Copy the current immutable object by setting a value for thesharingattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for sharing- Returns:
- A modified copy or the
thisobject
-
withScaleFitness
Copy the current immutable object by setting a value for thescaleFitnessattribute. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for scaleFitness- Returns:
- A modified copy or the
thisobject
-
equals
This instance is equal to all instances ofImmutableFitnessSharingthat have equal attribute values. -
equalsByValue
-
hashCode
public int hashCode()Computes a hash code from attributes:distance,sharing,scaleFitness. -
toString
Prints the immutable valueFitnessSharingwith attribute values. -
of
public static <T extends Comparable<T>> FitnessSharing<T> of(BiFunction<Genotype, Genotype, Double> distance, Function<Double, Double> sharing, BiFunction<Individual<T>, Double, T> scaleFitness) Construct a new immutableFitnessSharinginstance.- Type Parameters:
T- generic parameter T- Parameters:
distance- The value for thedistanceattributesharing- The value for thesharingattributescaleFitness- The value for thescaleFitnessattribute- Returns:
- An immutable FitnessSharing instance
-
copyOf
Creates an immutable copy of aFitnessSharingvalue. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Type Parameters:
T- generic parameter T- Parameters:
instance- The instance to copy- Returns:
- A copied immutable FitnessSharing instance
-
builder
Creates a builder forFitnessSharing.ImmutableFitnessSharing.<T>builder() .distance(function.BiFunction<net.bmahe.genetics4j.core.Genotype, net.bmahe.genetics4j.core.Genotype, Double>) // requireddistance.sharing(function.Function<Double, Double>) // requiredsharing.scaleFitness(function.BiFunction<net.bmahe.genetics4j.core.Individual<T>, Double, T>) // requiredscaleFitness.build();- Type Parameters:
T- generic parameter T- Returns:
- A new FitnessSharing builder
-