|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ICloneModificationHistoryExtension
Extension object which is used by the IStoreProvider
to attach CloneDiff
data of all modifications since the last event on generation of CloneModificationEvent
s and which
can also be used to retrieve a list of all modifications made to a clone since its creation.
The IStoreProvider
will also process this extension for all calls to
IStoreProvider.addClone(IClone)
or
IStoreProvider.updateClone(IClone, UpdateMode)
.
Any CloneDiff
objects present will be added to the internal modification history of the store provider and can
be retrieved by a call to IStoreProvider.getFullCloneObjectExtension(ICloneObject, Class)
at any time.
This extension is persisted and lazily restored, see ICloneObjectExtensionLazyMultiStatefulObject
.
Used by the IStoreProvider
and the CPC Notification module.
Important: All implementations of this interface also need to implement IStoreCloneModificationHistoryExtension
!
IStoreCloneModificationHistoryExtension
,
IStoreProvider.getFullCloneObjectExtension(ICloneObject, Class)
,
IStoreProvider.releaseWriteLock()
,
IStoreProvider.LockMode
,
IStoreProvider.addClone(IClone)
,
IStoreProvider.updateClone(IClone, UpdateMode)
,
CloneDiff
,
CloneModificationEvent
,
ICloneObjectExtensionLazyMultiStatefulObject
Method Summary | |
---|---|
void |
addCloneDiff(CloneDiff cloneDiff)
Adds a new CloneDiff object to this clone modification history extension. |
void |
addCloneDiffs(java.util.List<CloneDiff> cloneDiffs)
Adds a list of new CloneDiff objects to this clone modification history extension. |
void |
addCloneDiffs(java.util.SortedSet<CloneDiff> cloneDiffs)
Adds a list of new CloneDiff objects to this clone modification history extension. |
void |
clearCloneDiffs()
Removes all CloneDiff objects from this clone modification history extension. |
java.util.List<CloneDiff> |
getCloneDiffs()
Yields a list of all modifications ( CloneDiff s) made to this clone object. |
java.util.List<CloneDiff> |
getCloneDiffsForTransaction()
Yields a list of all modifications ( CloneDiff s) made to this clone object
since the last call of IStoreCloneModificationHistoryExtension.endOfTransaction() . |
java.util.Date |
getValidCreationDate()
Returns the the next valid creation date for use in a CloneDiff element
for this extension. |
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 |
---|
java.util.List<CloneDiff> getCloneDiffs()
CloneDiff
s) made to this clone object.
java.util.List<CloneDiff> getCloneDiffsForTransaction()
CloneDiff
s) made to this clone object
since the last call of IStoreCloneModificationHistoryExtension.endOfTransaction()
.
CloneDiff
s which were added to this
extension since the last CloneModificationEvent
in which this clone was marked as
modified.
java.util.Date getValidCreationDate()
CloneDiff
element
for this extension.
This is either the current time or, if another CloneDiff
element with that
creation date already exists, the current time incremented by a couple of milliseconds.
This is important in order for a user of this extension to ensure that no two
CloneDiff
elements with the same creation date are added.
CloneDiff
element, never null.void addCloneDiff(CloneDiff cloneDiff)
CloneDiff
object to this clone modification history extension.
CloneDiff
s may only be added in correct time order (youngest first).
cloneDiff
- the clone diff to add, never null.
java.lang.IllegalArgumentException
- if cloneDiff is younger than the oldest existing CloneDiff
element.void addCloneDiffs(java.util.List<CloneDiff> cloneDiffs)
CloneDiff
objects to this clone modification history extension.
CloneDiff
s may only be added in correct time order (youngest first).
cloneDiffs
- a list of CloneDiff
objects to add, never null.
java.lang.IllegalArgumentException
- if an added cloneDiff is younger than the oldest existing CloneDiff
element.void addCloneDiffs(java.util.SortedSet<CloneDiff> cloneDiffs)
CloneDiff
objects to this clone modification history extension.
CloneDiff
s may only be added in correct time order (youngest first).
cloneDiffs
- a sorted set of CloneDiff
objects to add, never null.
java.lang.IllegalArgumentException
- if an added cloneDiff is younger than the oldest existing CloneDiff
element.void clearCloneDiffs() throws java.lang.IllegalStateException
CloneDiff
objects from this clone modification history extension.
ICloneObjectExtension.isPartial()
is false).
This method is typically used when the clone history is either to be completely purged or to be replaced by some composite diffs.
java.lang.IllegalStateException
- is ICloneObjectExtension.isPartial()
is true.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |