|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.dellroad.stuff.pobj.FilterDelegate<T>
T - type of the root persistent objectpublic class FilterDelegate<T>
Adapter class for PersistentObjectDelegate implementations that wrap a nested delegate.
All methods in this class forward to the nested delegate.
| Field Summary | |
|---|---|
protected PersistentObjectDelegate<T> |
nested
|
| Constructor Summary | |
|---|---|
FilterDelegate(PersistentObjectDelegate<T> nested)
Constructor. |
|
| 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. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected final PersistentObjectDelegate<T> nested
| Constructor Detail |
|---|
public FilterDelegate(PersistentObjectDelegate<T> nested)
nested - nested delegate to wrap
IllegalArgumentException - if nested is null| Method Detail |
|---|
public void serialize(T obj,
Result result)
throws IOException
PersistentObjectDelegate
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.
serialize in interface PersistentObjectDelegate<T>obj - object to serialize; must not be modifiedresult - XML destination
IOException
public T deserialize(Source source)
throws IOException
PersistentObjectDelegate
deserialize in interface PersistentObjectDelegate<T>source - XML source
IOExceptionpublic T copy(T original)
PersistentObjectDelegateFor 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.
copy in interface PersistentObjectDelegate<T>
public boolean isSameGraph(T root1,
T root2)
PersistentObjectDelegate
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.
isSameGraph in interface PersistentObjectDelegate<T>root1 - root of first object graphroot2 - root of second object graphpublic Set<ConstraintViolation<T>> validate(T obj)
PersistentObjectDelegate
This method must not modify obj or any other object in its object graph.
validate in interface PersistentObjectDelegate<T>
public void handleWritebackException(PersistentObject<T> pobj,
Throwable t)
PersistentObjectDelegateThreadDeath exceptions are not
passed to this method, but all others are.
handleWritebackException in interface PersistentObjectDelegate<T>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 | |||||||||