|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface CopyHelper
A helper for copying DataObjects.
Field Summary | |
---|---|
static CopyHelper |
INSTANCE
The default CopyHelper. |
Method Summary | |
---|---|
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. |
Field Detail |
---|
static final CopyHelper INSTANCE
Method Detail |
---|
DataObject copyShallow(DataObject dataObject)
dataObject
- to be copied
DataObject 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.
java.lang.IllegalArgumentException
- if any referenced DataObject
is not part of the containment tree.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |