Record Class DownloadSchedule

java.lang.Object
java.lang.Record
google.registry.bsa.persistence.DownloadSchedule
Record Components:
latestCompleted - The most recent job that ended in the DONE stage.
alwaysDownload - Whether the download should be processed even if the checksums show that it has not changed from the previous one.

public record DownloadSchedule(long jobId, org.joda.time.DateTime jobCreationTime, String jobName, DownloadStage stage, Optional<DownloadSchedule.CompletedJob> latestCompleted, boolean alwaysDownload) extends Record
Information needed when handling a download from BSA.
  • Constructor Details

    • DownloadSchedule

      public DownloadSchedule(long jobId, org.joda.time.DateTime jobCreationTime, String jobName, DownloadStage stage, Optional<DownloadSchedule.CompletedJob> latestCompleted, boolean alwaysDownload)
      Creates an instance of a DownloadSchedule record class.
      Parameters:
      jobId - the value for the jobId record component
      jobCreationTime - the value for the jobCreationTime record component
      jobName - the value for the jobName record component
      stage - the value for the stage record component
      latestCompleted - the value for the latestCompleted record component
      alwaysDownload - the value for the alwaysDownload record component
  • Method Details

    • updateJobStage

      public void updateJobStage(DownloadStage stage)
      Updates the current job to the new stage.
    • updateJobStage

      public DownloadSchedule updateJobStage(DownloadStage stage, com.google.common.collect.ImmutableMap<BlockListType,String> checksums)
      Updates the current job to the new stage and sets the checksums of the downloaded files.

      This method may only be invoked during the DOWNLOAD stage, and the target stage must be one of MAKE_DIFF, CHECK_FOR_STALE_UNBLOCKABLES, NOP, or CHECKSUMS_NOT_MATCH.

    • 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. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      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.
    • jobId

      public long jobId()
      Returns the value of the jobId record component.
      Returns:
      the value of the jobId record component
    • jobCreationTime

      public org.joda.time.DateTime jobCreationTime()
      Returns the value of the jobCreationTime record component.
      Returns:
      the value of the jobCreationTime record component
    • jobName

      public String jobName()
      Returns the value of the jobName record component.
      Returns:
      the value of the jobName record component
    • stage

      public DownloadStage stage()
      Returns the value of the stage record component.
      Returns:
      the value of the stage record component
    • latestCompleted

      public Optional<DownloadSchedule.CompletedJob> latestCompleted()
      Returns the value of the latestCompleted record component.
      Returns:
      the value of the latestCompleted record component
    • alwaysDownload

      public boolean alwaysDownload()
      Returns the value of the alwaysDownload record component.
      Returns:
      the value of the alwaysDownload record component