org.electrocodeogram.cpc.core.api.data
Interface ICloneGroup
- All Superinterfaces:
- java.lang.Cloneable, org.eclipse.core.runtime.IAdaptable, ICloneDataElement, ICloneObject, java.io.Serializable
- All Known Subinterfaces:
- ICloneGroupInterfaces
public interface ICloneGroup
- extends ICloneObject
Public interface for all clone group data objects.
Any implementation needs to implement ICloneGroupInterfaces
.
Implementing only ICloneGroup
is not enough!
This interface lists all methods which are available to all CPC plugins and 3rd party
contributions.
Additional methods are defined by more specific sub-interfaces which
belong to individual CPC plugins and are to be considered private.
Any CPC plugin other than the one designated in the sub-interface API must not access
such methods.
IMPORTANT NOTE
In order to ease the implementation of file based local storage providers as well as
repository based remote store providers clone group objects are not persisted individually
(clone group uuids are stored together with each clone member, nothing else is persisted).
An clone group object only contains it's uuid as a unique identifier and cached/derived counters
and statistics.
A custom clone group implementation must not expect any data fields to be persisted.
This also means that ICloneObjectExtensionStatefulObject
s will not be persisted.
- Author:
- vw
- See Also:
ICloneGroupInterfaces
Methods inherited from interface org.electrocodeogram.cpc.core.api.data.ICloneObject |
addExtension, clone, equals, equalsAll, getExtension, getExtensions, getUuid, hasExtensions, hashCode, isMarked, removeExtension, removeExtension, setMarked, toString |
Methods inherited from interface org.eclipse.core.runtime.IAdaptable |
getAdapter |
PERSISTENCE_CLASS_IDENTIFIER
static final java.lang.String PERSISTENCE_CLASS_IDENTIFIER
IStatefulObject
persistence class identifier, value: "clone_group"
- See Also:
- Constant Field Values