Record Class CreateRunRequest

java.lang.Object
java.lang.Record
dev.dokimos.server.dto.v1.CreateRunRequest

public record CreateRunRequest(@NotBlank String experimentName, Map<String,Object> metadata, String name, String gitSha, String gitBranch, String triggeredBy, String datasetName, @Min(1L) Integer datasetVersion) extends Record
  • Constructor Details

    • CreateRunRequest

      public CreateRunRequest(String experimentName, Map<String,Object> metadata, String name, String gitSha, String gitBranch, String triggeredBy)
      Backwards-compatible 6-arg constructor for callers that predate the dataset linkage.
    • CreateRunRequest

      public CreateRunRequest(@NotBlank @NonNull @NotBlank String experimentName, Map<String,Object> metadata, String name, String gitSha, String gitBranch, String triggeredBy, String datasetName, @Min(1L) @Min(1L) Integer datasetVersion)
      Creates an instance of a CreateRunRequest record class.
      Parameters:
      experimentName - the value for the experimentName record component
      metadata - the value for the metadata record component
      name - the value for the name record component
      gitSha - the value for the gitSha record component
      gitBranch - the value for the gitBranch record component
      triggeredBy - the value for the triggeredBy record component
      datasetName - the value for the datasetName record component
      datasetVersion - the value for the datasetVersion record component
  • Method Details

    • isDatasetLinkageValid

      @AssertTrue(message="datasetName and datasetVersion must be set together") public @jakarta.validation.constraints.AssertTrue(message="datasetName and datasetVersion must be set together") boolean isDatasetLinkageValid()
      Cross-field rule enforcing that datasetName and datasetVersion are either both supplied or both absent. Returning false causes @Valid to surface a MethodArgumentNotValidException so the user-facing path returns 400 instead of the 404 that would result from the defensive check in the service.
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • experimentName

      @NotBlank @NonNull public @NotBlank String experimentName()
      Returns the value of the experimentName record component.
      Returns:
      the value of the experimentName record component
    • metadata

      public Map<String,Object> metadata()
      Returns the value of the metadata record component.
      Returns:
      the value of the metadata record component
    • name

      public String name()
      Returns the value of the name record component.
      Returns:
      the value of the name record component
    • gitSha

      public String gitSha()
      Returns the value of the gitSha record component.
      Returns:
      the value of the gitSha record component
    • gitBranch

      public String gitBranch()
      Returns the value of the gitBranch record component.
      Returns:
      the value of the gitBranch record component
    • triggeredBy

      public String triggeredBy()
      Returns the value of the triggeredBy record component.
      Returns:
      the value of the triggeredBy record component
    • datasetName

      public String datasetName()
      Returns the value of the datasetName record component.
      Returns:
      the value of the datasetName record component
    • datasetVersion

      @Min(1L) public @Min(1L) Integer datasetVersion()
      Returns the value of the datasetVersion record component.
      Returns:
      the value of the datasetVersion record component