public interface CopyHelper
| Modifier and Type | Field and Description |
|---|---|
static CopyHelper |
INSTANCE
The default CopyHelper.
|
| Modifier and Type | Method and Description |
|---|---|
DataObject |
copy(DataObject dataObject)
Create a deep copy of the DataObject tree: Copies the dataObject and all
its
contained DataObjects
recursively. |
DataObject |
copyShallow(DataObject dataObject)
Create a shallow copy of the DataObject dataObject: Creates a new
DataObject copiedDataObject with the same values as the source dataObject
for each property where property.getType().isDataType() is true.
|
static final CopyHelper INSTANCE
DataObject copyShallow(DataObject dataObject)
dataObject - to be copiedDataObject copy(DataObject dataObject)
contained DataObjects
recursively. Values of Properties are copied as in shallow copy, and values
of Properties where property.getType().isDataType() is false are copied
where each value copied must be a DataObject contained by the source
dataObject. If a DataObject is outside the DataObject tree and the property
is bidirectional, then the DataObject is skipped. If a DataObject is
outside the DataObject tree and the property is unidirectional, then the
same DataObject is referenced. Read-only properties are copied. If any
DataObject referenced is not in the containment tree an
IllegalArgumentException is thrown. If a ChangeSummary is part of the copy
tree the new ChangeSummary refers to objects in the new DataObject tree.
Logging state is the same as the source ChangeSummary.dataObject - to be copied.IllegalArgumentException - if any referenced DataObject is not part of the containment tree.Copyright © 2019. All rights reserved.