Enum Cursor.CursorType

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<Cursor.CursorType>
    Enclosing class:
    Cursor

    public static enum Cursor.CursorType
    extends java.lang.Enum<Cursor.CursorType>
    The types of cursors, used as the string id field for each cursor in Datastore.
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      BRDA
      Cursor for ensuring rolling transactional isolation of BRDA staging operation.
      ICANN_UPLOAD_ACTIVITY
      Cursor for tracking monthly uploads of ICANN activity reports.
      ICANN_UPLOAD_MANIFEST
      Deprecated.
      ICANN_UPLOAD_TX
      Cursor for tracking monthly uploads of ICANN transaction reports.
      RDE_REPORT
      Cursor for ensuring rolling transactional isolation of RDE report operation.
      RDE_STAGING
      Cursor for ensuring rolling transactional isolation of RDE staging operation.
      RDE_UPLOAD
      Cursor for ensuring rolling transactional isolation of RDE upload operation.
      RDE_UPLOAD_SFTP
      Cursor that tracks the last time we talked to the escrow provider's SFTP server for a given TLD.
      RECURRING_BILLING
      Cursor for ensuring rolling transactional isolation of recurring billing expansion.
      SYNC_REGISTRAR_SHEET
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.Class<?> getScopeClass()
      If there are multiple cursors for a given cursor type, a cursor must also have a scope defined (distinct from a parent, which is always the EntityGroupRoot key).
      static Cursor.CursorType valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static Cursor.CursorType[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • BRDA

        public static final Cursor.CursorType BRDA
        Cursor for ensuring rolling transactional isolation of BRDA staging operation.
      • RDE_REPORT

        public static final Cursor.CursorType RDE_REPORT
        Cursor for ensuring rolling transactional isolation of RDE report operation.
      • RDE_STAGING

        public static final Cursor.CursorType RDE_STAGING
        Cursor for ensuring rolling transactional isolation of RDE staging operation.
      • RDE_UPLOAD

        public static final Cursor.CursorType RDE_UPLOAD
        Cursor for ensuring rolling transactional isolation of RDE upload operation.
      • RDE_UPLOAD_SFTP

        public static final Cursor.CursorType RDE_UPLOAD_SFTP
        Cursor that tracks the last time we talked to the escrow provider's SFTP server for a given TLD.

        Our escrow provider has an odd feature where separate deposits uploaded within two hours of each other will be merged into a single deposit. This is problematic in situations where the cursor might be a few days behind and is trying to catch up.

        The way we solve this problem is by having RdeUploadAction check this cursor before performing an upload for a given TLD. If the cursor is less than two hours old, the action will fail with a status code above 300 and App Engine will keep retrying the action until it's ready.

      • RECURRING_BILLING

        public static final Cursor.CursorType RECURRING_BILLING
        Cursor for ensuring rolling transactional isolation of recurring billing expansion. The value of this cursor represents the exclusive upper bound on the range of billing times for which Recurring billing events have been expanded (i.e. the inclusive first billing time for the next expansion job).
      • SYNC_REGISTRAR_SHEET

        public static final Cursor.CursorType SYNC_REGISTRAR_SHEET
        Cursor for SyncRegistrarsSheetAction. The DateTime stored is the last time that registrar changes were successfully synced to the sheet. If there were no changes since the last time the action run, the cursor is not updated.
      • ICANN_UPLOAD_TX

        public static final Cursor.CursorType ICANN_UPLOAD_TX
        Cursor for tracking monthly uploads of ICANN transaction reports.
      • ICANN_UPLOAD_ACTIVITY

        public static final Cursor.CursorType ICANN_UPLOAD_ACTIVITY
        Cursor for tracking monthly uploads of ICANN activity reports.
      • ICANN_UPLOAD_MANIFEST

        @Deprecated
        public static final Cursor.CursorType ICANN_UPLOAD_MANIFEST
        Deprecated.
        Cursor for tracking monthly uploads of MANIFEST.txt to ICANN. No longer used.
    • Method Detail

      • values

        public static Cursor.CursorType[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (Cursor.CursorType c : Cursor.CursorType.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static Cursor.CursorType valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • getScopeClass

        public java.lang.Class<?> getScopeClass()
        If there are multiple cursors for a given cursor type, a cursor must also have a scope defined (distinct from a parent, which is always the EntityGroupRoot key). For instance, for a cursor that is defined at the registry level, the scope type will be Registry.class. For a cursor (theoretically) defined for each EPP resource, the scope type will be EppResource.class. For a global cursor, i.e. one that applies per environment, this will be EntityGroupRoot.