Class ImmutableSimpleDistribution.Builder

java.lang.Object
io.github.ai4ci.util.ImmutableSimpleDistribution.Builder
Enclosing class:
ImmutableSimpleDistribution

@NotThreadSafe public static final class ImmutableSimpleDistribution.Builder extends Object
Builds instances of type ImmutableSimpleDistribution. 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.

  • Method Details

    • from

      @CanIgnoreReturnValue public final ImmutableSimpleDistribution.Builder from(Abstraction.Distribution instance)
      Fill a builder with attribute values from the provided io.github.ai4ci.abm.mechanics.Abstraction.Distribution instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • from

      @CanIgnoreReturnValue public final ImmutableSimpleDistribution.Builder from(SimpleDistribution instance)
      Fill a builder with attribute values from the provided io.github.ai4ci.util.SimpleDistribution instance.
      Parameters:
      instance - The instance from which to copy values
      Returns:
      this builder for use in a chained invocation
    • setType

      @CanIgnoreReturnValue public final ImmutableSimpleDistribution.Builder setType(SimpleDistribution.Type type)
      Initializes the value for the type attribute.
      Parameters:
      type - The value for type
      Returns:
      this builder for use in a chained invocation
    • setCentral

      @CanIgnoreReturnValue public final ImmutableSimpleDistribution.Builder setCentral(double central)
      Initializes the value for the central attribute.
      Parameters:
      central - The value for central
      Returns:
      this builder for use in a chained invocation
    • setDispersion

      @CanIgnoreReturnValue public final ImmutableSimpleDistribution.Builder setDispersion(@Nullable Double dispersion)
      Initializes the value for the dispersion attribute.

      If not set, this attribute will have a default value as returned by the initializer of dispersion.

      Parameters:
      dispersion - The value for dispersion (can be null)
      Returns:
      this builder for use in a chained invocation
    • build

      Returns:
      An immutable instance of SimpleDistribution
      Throws:
      IllegalStateException - if any required attributes are missing