Record Class PendingDeposit

java.lang.Object
java.lang.Record
google.registry.rde.PendingDeposit
Record Components:
manual - True if deposits should be generated via manual operation, which does not update the cursor, and saves the generated deposits in a special manual subdirectory tree.
tld - TLD for which a deposit should be generated.
watermarkStr - String representation of the watermark date for which a deposit should be generated.
mode - Which type of deposit to generate: full (RDE) or thin (BRDA).
cursor - The cursor type to update (not used in manual operation).
intervalStr - String representation of the amount of time to increment the cursor (not used in manual operation).
directoryWithTrailingSlash - Subdirectory of bucket/manual in which files should be placed, including a trailing slash (used only in manual operation).
revision - Revision number for generated files; if absent, use the next available in the sequence (used only in manual operation).
All Implemented Interfaces:
Serializable

public record PendingDeposit(boolean manual, String tld, String watermarkStr, RdeMode mode, @Nullable Cursor.CursorType cursor, @Nullable String intervalStr, @Nullable String directoryWithTrailingSlash, @Nullable Integer revision) extends Record implements Serializable
Container representing a single RDE or BRDA XML escrow deposit that needs to be created.

There are some @Nullable fields here because Optionals aren't Serializable.

Note that this class is serialized in two ways: by Beam pipelines using custom serialization mechanism and the Coder API, and by Java serialization when passed as command-line arguments (see RdePipeline#decodePendingDeposits). The latter requires safe deserialization because the data crosses credential boundaries (See SafeObjectInputStream).

See Also:
  • Constructor Details

    • PendingDeposit

      public PendingDeposit(boolean manual, String tld, String watermarkStr, RdeMode mode, @Nullable Cursor.CursorType cursor, @Nullable String intervalStr, @Nullable String directoryWithTrailingSlash, @Nullable Integer revision)
      Creates an instance of a PendingDeposit record class.
      Parameters:
      manual - the value for the manual record component
      tld - the value for the tld record component
      watermarkStr - the value for the watermarkStr record component
      mode - the value for the mode record component
      cursor - the value for the cursor record component
      intervalStr - the value for the intervalStr record component
      directoryWithTrailingSlash - the value for the directoryWithTrailingSlash record component
      revision - the value for the revision record component
  • Method Details

    • watermark

      public org.joda.time.DateTime watermark()
    • interval

      public org.joda.time.Duration interval()
    • create

      public static PendingDeposit create(String tld, org.joda.time.DateTime watermark, RdeMode mode, Cursor.CursorType cursor, org.joda.time.Duration interval)
    • createInManualOperation

      public static PendingDeposit createInManualOperation(String tld, org.joda.time.DateTime watermark, RdeMode mode, String directoryWithTrailingSlash, @Nullable Integer revision)
    • 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.
    • manual

      public boolean manual()
      Returns the value of the manual record component.
      Returns:
      the value of the manual record component
    • tld

      public String tld()
      Returns the value of the tld record component.
      Returns:
      the value of the tld record component
    • watermarkStr

      public String watermarkStr()
      Returns the value of the watermarkStr record component.
      Returns:
      the value of the watermarkStr record component
    • mode

      public RdeMode mode()
      Returns the value of the mode record component.
      Returns:
      the value of the mode record component
    • cursor

      @Nullable public Cursor.CursorType cursor()
      Returns the value of the cursor record component.
      Returns:
      the value of the cursor record component
    • intervalStr

      @Nullable public String intervalStr()
      Returns the value of the intervalStr record component.
      Returns:
      the value of the intervalStr record component
    • directoryWithTrailingSlash

      @Nullable public String directoryWithTrailingSlash()
      Returns the value of the directoryWithTrailingSlash record component.
      Returns:
      the value of the directoryWithTrailingSlash record component
    • revision

      @Nullable public Integer revision()
      Returns the value of the revision record component.
      Returns:
      the value of the revision record component