Class ImmutableOutbreakConfigurationJson

java.lang.Object
io.github.ai4ci.output.ImmutableOutbreakConfigurationJson
All Implemented Interfaces:
CSVWriter.Writeable, CommonCSV.Execution, CommonCSV.Model, OutbreakConfigurationJson

@ParametersAreNonnullByDefault @Generated("org.immutables.processor.ProxyProcessor") @Immutable @CheckReturnValue public final class ImmutableOutbreakConfigurationJson extends Object implements OutbreakConfigurationJson
Immutable implementation of OutbreakConfigurationJson.

Use the builder to create immutable instances: ImmutableOutbreakConfigurationJson.builder().

  • Method Details

    • getModelName

      public String getModelName()
      Specified by:
      getModelName in interface CommonCSV.Model
      Returns:
      The value of the modelName attribute
    • getExperimentName

      public String getExperimentName()
      Specified by:
      getExperimentName in interface CommonCSV.Model
      Returns:
      The value of the experimentName attribute
    • getModelReplica

      public int getModelReplica()
      Specified by:
      getModelReplica in interface CommonCSV.Execution
      Returns:
      The value of the modelReplica attribute
    • getExperimentReplica

      public int getExperimentReplica()
      Specified by:
      getExperimentReplica in interface CommonCSV.Execution
      Returns:
      The value of the experimentReplica attribute
    • getSetupConfiguration

      public SetupConfiguration getSetupConfiguration()
      Specified by:
      getSetupConfiguration in interface OutbreakConfigurationJson
      Returns:
      The value of the setupConfiguration attribute
    • getExecutionConfiguration

      public ImmutableExecutionConfiguration getExecutionConfiguration()
      Specified by:
      getExecutionConfiguration in interface OutbreakConfigurationJson
      Returns:
      The value of the executionConfiguration attribute
    • withModelName

      public final ImmutableOutbreakConfigurationJson withModelName(String value)
      Copy the current immutable object by setting a value for the modelName attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for modelName
      Returns:
      A modified copy of the this object
    • withExperimentName

      public final ImmutableOutbreakConfigurationJson withExperimentName(String value)
      Copy the current immutable object by setting a value for the experimentName attribute. An equals check used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for experimentName
      Returns:
      A modified copy of the this object
    • withModelReplica

      public final ImmutableOutbreakConfigurationJson withModelReplica(int value)
      Copy the current immutable object by setting a value for the modelReplica attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for modelReplica
      Returns:
      A modified copy of the this object
    • withExperimentReplica

      public final ImmutableOutbreakConfigurationJson withExperimentReplica(int value)
      Copy the current immutable object by setting a value for the experimentReplica attribute. A value equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for experimentReplica
      Returns:
      A modified copy of the this object
    • withSetupConfiguration

      public final ImmutableOutbreakConfigurationJson withSetupConfiguration(SetupConfiguration value)
      Copy the current immutable object by setting a value for the setupConfiguration attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for setupConfiguration
      Returns:
      A modified copy of the this object
    • withExecutionConfiguration

      public final ImmutableOutbreakConfigurationJson withExecutionConfiguration(ExecutionConfiguration value)
      Copy the current immutable object by setting a value for the executionConfiguration attribute. A shallow reference equality check is used to prevent copying of the same value by returning this.
      Parameters:
      value - A new value for executionConfiguration
      Returns:
      A modified copy of the this object
    • equals

      public boolean equals(@Nullable Object another)
      This instance is equal to all instances of ImmutableOutbreakConfigurationJson that have equal attribute values.
      Overrides:
      equals in class Object
      Returns:
      true if this is equal to another instance
    • hashCode

      public int hashCode()
      Computes a hash code from attributes: modelName, experimentName, modelReplica, experimentReplica, setupConfiguration, executionConfiguration.
      Overrides:
      hashCode in class Object
      Returns:
      hashCode value
    • toString

      public String toString()
      Prints the immutable value OutbreakConfigurationJson with attribute values.
      Overrides:
      toString in class Object
      Returns:
      A string representation of the value
    • copyOf

      Creates an immutable copy of a OutbreakConfigurationJson value. 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 OutbreakConfigurationJson instance
    • toBuilder

      Creates a builder for ImmutableOutbreakConfigurationJson.prefilled with attibute values of this instance to easily create modified copies.
      Returns:
      A new ImmutableOutbreakConfigurationJson builder with attributes of this instance
    • builder

      Creates a builder for ImmutableOutbreakConfigurationJson.
       ImmutableOutbreakConfigurationJson.builder()
          .setModelName(String) // required modelName
          .setExperimentName(String) // required experimentName
          .setModelReplica(int) // required modelReplica
          .setExperimentReplica(int) // required experimentReplica
          .setSetupConfiguration(io.github.ai4ci.config.setup.SetupConfiguration) // required setupConfiguration
          .setExecutionConfiguration(io.github.ai4ci.config.ExecutionConfiguration) // required executionConfiguration
          .build();
       
      Returns:
      A new ImmutableOutbreakConfigurationJson builder