Class BackupGroupRoot

  • All Implemented Interfaces:
    UnsafeSerializable, java.io.Serializable, java.lang.Cloneable
    Direct Known Subclasses:
    AllocationToken, EppResource, RdeRevision, User

    @MappedSuperclass
    public abstract class BackupGroupRoot
    extends ImmutableObject
    implements UnsafeSerializable
    Base class for entities that are the root of a Registry 2.0 entity group that gets enrolled in commit logs for backup purposes.

    The commit log system needs to preserve the ordering of closely timed mutations to entities in a single entity group. We require an UpdateAutoTimestamp field on the root of a group so that we can enforce strictly increasing timestamps.

    See Also:
    Serialized Form
    • Constructor Detail

      • BackupGroupRoot

        public BackupGroupRoot()
    • Method Detail

      • copyUpdateTimestamp

        protected void copyUpdateTimestamp​(BackupGroupRoot other)
        Copies updateTimestamp from another entity.

        This method is for the few cases when updateTimestamp is copied between different types of entities. Use ImmutableObject.clone(T) for same-type copying.

      • resetUpdateTimestamp

        protected void resetUpdateTimestamp()
        Resets the updateTimestamp to force Hibernate to persist it.

        This method is for use in setters in derived builders that do not result in the derived object being persisted.

      • setUpdateTimestamp

        protected void setUpdateTimestamp​(UpdateAutoTimestamp timestamp)
        Sets the updateTimestamp.

        This method is for use in the few places where we need to restore the update timestamp after mutating a collection in order to force the new timestamp to be persisted when it ordinarily wouldn't.