Class DeferrableChangeRecord

    • Field Detail

      • originalCollection

        protected transient Object originalCollection
        Used for change tracking when user sets entire collection.
      • latestCollection

        protected transient Object latestCollection
        Used for change tracking when user sets entire collection.
      • isDeferred

        protected boolean isDeferred
        Defines if this change should be calculated at commit time using the two collections. This is used to handle collection replacement.
    • Constructor Detail

      • DeferrableChangeRecord

        public DeferrableChangeRecord()
      • DeferrableChangeRecord

        public DeferrableChangeRecord​(ObjectChangeSet owner)
    • Method Detail

      • isDeferred

        public boolean isDeferred()
        Returns if this change should be calculated at commit time using the two collections. This is used to handle collection replacement.
      • setIsDeferred

        public void setIsDeferred​(boolean isDeferred)
        Sets if this change should be calculated at commit time using the two collections. This is used to handle collection replacement.
      • getLatestCollection

        public Object getLatestCollection()
        Used for change tracking when user sets entire collection. This is the last collection that was set on the object.
      • getOriginalCollection

        public Object getOriginalCollection()
        Used for change tracking when user sets entire collection. This is the original collection that was set on the object when it was cloned.
      • setLatestCollection

        public void setLatestCollection​(Object latestCollection)
        Used for change tracking when user sets entire collection. This is the last collection that was set on the object.
      • setOriginalCollection

        public void setOriginalCollection​(Object originalCollection)
        Used for change tracking when user sets entire collection. This is the original collection that was set on the object when it was cloned.
      • internalRecreateOriginalCollection

        public abstract void internalRecreateOriginalCollection​(Object currentCollection,
                                                                AbstractSession session)
        Recreates the original state of currentCollection.
      • clearChanges

        public abstract void clearChanges()
        Clears info about added / removed objects set by change tracker. Called after the change info has been already used for creation of originalCollection. Also called to make sure there is no change info before comparison for change is performed (change info is still in the record after comparison for change is performed and may cause wrong results when the second comparison for change performed on the same change record).
      • recreateOriginalCollection

        public void recreateOriginalCollection​(Object currentCollection,
                                               AbstractSession session)
        Recreates the original state of the collection.
      • getOldValue

        public Object getOldValue()
        ADVANCED: If the owning UnitOfWork has shouldChangeRecordKeepOldValue set to true, then return the old value of the attribute represented by this ChangeRecord.