|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
T - type of the root persistent objectpublic interface PersistentObjectDelegate<T>
Delegate interface required for PersistentObjects.
Instances provide methods for converting to/from XML, validation, etc.
PersistentObject| Method Summary | |
|---|---|
T |
copy(T original)
Make a deep copy of the given object. |
T |
deserialize(Source source)
Deserialize a root object from XML. |
void |
handleWritebackException(PersistentObject<T> pobj,
Throwable t)
Handle an exception thrown during a delayed write-back attempt. |
boolean |
isSameGraph(T root1,
T root2)
Attempt to determine whether two object graphs are identical. |
void |
serialize(T obj,
Result result)
Serialize a root object into XML. |
Set<ConstraintViolation<T>> |
validate(T obj)
Validate the given object. |
| Method Detail |
|---|
void serialize(T obj,
Result result)
throws IOException
Note that this method effectively defines what is contained in the object graph
rooted at obj.
This method must not modify obj or any other object in its object graph.
obj - object to serialize; must not be modifiedresult - XML destination
PersistentObjectException - if an error occurs
IOException
T deserialize(Source source)
throws IOException
source - XML source
PersistentObjectException - if an error occurs
IOExceptionT copy(T original)
For correct behavior, this behavior of this method should be equivalent to a serialization followed by a deserialization.
This method must not modify original or any other object in its object graph.
IllegalArgumentException - if original is null
PersistentObjectException - if an error occurs
boolean isSameGraph(T root1,
T root2)
This optional method is an optimization to detect invocations to PersistentObject.setRoot()
where the new object graph and the old object graph are identical. In such cases, no change is applied,
the version number does not increase, and no notifications are sent.
It is always safe and correct for this method to return false. If it returns true, then it must be the case that the two object graphs are identical.
This method must not modify oldRoot or newRoot or any other object in their object respective graphs.
root1 - root of first object graphroot2 - root of second object graph
IllegalArgumentException - if oldRoot or newRoot is null
PersistentObjectException - if an error occursSet<ConstraintViolation<T>> validate(T obj)
This method must not modify obj or any other object in its object graph.
IllegalArgumentException - if obj is null
void handleWritebackException(PersistentObject<T> pobj,
Throwable t)
ThreadDeath exceptions are not
passed to this method, but all others are.
pobj - the instance that encountered the exceptiont - the exception thrown
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||