Class PendingDeposit

java.lang.Object
google.registry.rde.PendingDeposit
All Implemented Interfaces:
Serializable

public abstract class PendingDeposit extends Object 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:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    A deterministic coder for PendingDeposit used during a GroupBy transform.
  • Method Summary

    Modifier and Type
    Method
    Description
    create(String tld, org.joda.time.DateTime watermark, RdeMode mode, Cursor.CursorType cursor, org.joda.time.Duration interval)
     
    createInManualOperation(String tld, org.joda.time.DateTime watermark, RdeMode mode, String directoryWithTrailingSlash, Integer revision)
     
    The cursor type to update (not used in manual operation).
    abstract String
    Subdirectory of bucket/manual in which files should be placed, including a trailing slash (used only in manual operation).
    abstract org.joda.time.Duration
    Amount of time to increment the cursor (not used in manual operation).
    abstract boolean
    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.
    abstract RdeMode
    Which type of deposit to generate: full (RDE) or thin (BRDA).
    abstract Integer
    Revision number for generated files; if absent, use the next available in the sequence (used only in manual operation).
    abstract String
    tld()
    TLD for which a deposit should be generated.
    abstract org.joda.time.DateTime
    Watermark date for which a deposit should be generated.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • manual

      public abstract boolean 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

      public abstract String tld()
      TLD for which a deposit should be generated.
    • watermark

      public abstract org.joda.time.DateTime watermark()
      Watermark date for which a deposit should be generated.
    • mode

      public abstract RdeMode mode()
      Which type of deposit to generate: full (RDE) or thin (BRDA).
    • cursor

      @Nullable public abstract Cursor.CursorType cursor()
      The cursor type to update (not used in manual operation).
    • interval

      @Nullable public abstract org.joda.time.Duration interval()
      Amount of time to increment the cursor (not used in manual operation).
    • directoryWithTrailingSlash

      @Nullable public abstract String directoryWithTrailingSlash()
      Subdirectory of bucket/manual in which files should be placed, including a trailing slash (used only in manual operation).
    • revision

      @Nullable public abstract Integer revision()
      Revision number for generated files; if absent, use the next available in the sequence (used only in manual operation).
    • 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)