org.electrocodeogram.cpc.core.api.data.special
Interface IStoreCloneModificationHistoryExtension

All Superinterfaces:
java.lang.Cloneable, ICloneDataElement, ICloneModificationHistoryExtension, ICloneObjectExtension, java.io.Serializable

public interface IStoreCloneModificationHistoryExtension
extends ICloneModificationHistoryExtension

Special extension interface for ICloneModificationHistoryExtension which contains methods which may only be called by the current IStoreProvider.

Author:
vw
See Also:
ICloneModificationHistoryExtension, IStoreProvider

Method Summary
 void endOfTransaction()
          Indicates the end of the current IStoreProvider transaction.
 java.util.Date getEndOfTransactionCloneDiffCreationDate()
          Retrieves the creation date of the last (oldest) CloneDiff of this extension at the time of the last call of endOfTransaction().
 void setEndOfTransactionCloneDiffCreationDate(java.util.Date endOfTransactionCloneDiffCreationDate)
          Sets the getEndOfTransactionCloneDiffCreationDate() value.
 boolean wasCleared()
          Checks whether this extension was cleared (ICloneModificationHistoryExtension.clearCloneDiffs()) since the end of the last transaction.
 
Methods inherited from interface org.electrocodeogram.cpc.core.api.data.extension.ICloneModificationHistoryExtension
addCloneDiff, addCloneDiffs, addCloneDiffs, clearCloneDiffs, getCloneDiffs, getCloneDiffsForTransaction, getValidCreationDate
 
Methods inherited from interface org.electrocodeogram.cpc.core.api.data.ICloneObjectExtension
clone, getExtensionInterfaceClass, isPartial, setParentUuid, toString
 
Methods inherited from interface org.electrocodeogram.cpc.core.api.data.ICloneDataElement
isSealed, seal
 

Method Detail

endOfTransaction

void endOfTransaction()
Indicates the end of the current IStoreProvider transaction.

IMPORTANT: This method must only be used from within the IStoreProvider!

See Also:
ICloneModificationHistoryExtension.getCloneDiffsForTransaction(), IStoreProvider

getEndOfTransactionCloneDiffCreationDate

java.util.Date getEndOfTransactionCloneDiffCreationDate()
Retrieves the creation date of the last (oldest) CloneDiff of this extension at the time of the last call of endOfTransaction().
If endOfTransaction() was never called or if no CloneDiff elements were added at that point in time, this method will return NULL.

IMPORTANT: This method must only be used from within the IStoreProvider!

Returns:
creation date of oldest diff during last call of endOfTransaction(), may be NULL.

setEndOfTransactionCloneDiffCreationDate

void setEndOfTransactionCloneDiffCreationDate(java.util.Date endOfTransactionCloneDiffCreationDate)
Sets the getEndOfTransactionCloneDiffCreationDate() value.
This method is used by the IStoreProvider to "merge" multiple ICloneModificationHistoryExtensions, if needed.

IMPORTANT: This method must only be used from within the IStoreProvider!

Parameters:
endOfTransactionCloneDiffCreationDate - the new end of transaction creation date, may be NULL.

wasCleared

boolean wasCleared()
Checks whether this extension was cleared (ICloneModificationHistoryExtension.clearCloneDiffs()) since the end of the last transaction.
This value is set to true when ICloneModificationHistoryExtension.clearCloneDiffs() is called and is reset to false when endOfTransaction() is called.
The default value is false.

Returns:
true if this extension was cleared recently, false otherwise.