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 ICloneObjectExtensionStatefulObjects will not be persisted.

Author:
vw
See Also:
ICloneGroupInterfaces

Field Summary
static java.lang.String PERSISTENCE_CLASS_IDENTIFIER
          IStatefulObject persistence class identifier, value: "clone_group"
 
Fields inherited from interface org.electrocodeogram.cpc.core.api.data.ICloneObject
PERSISTENCE_OBJECT_IDENTIFIER
 
Method Summary
 
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.electrocodeogram.cpc.core.api.data.ICloneDataElement
isSealed, seal
 
Methods inherited from interface org.eclipse.core.runtime.IAdaptable
getAdapter
 

Field Detail

PERSISTENCE_CLASS_IDENTIFIER

static final java.lang.String PERSISTENCE_CLASS_IDENTIFIER
IStatefulObject persistence class identifier, value: "clone_group"

See Also:
Constant Field Values