OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

sdo message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: ISSUE 157: Proposal

Hi Everyone,
I took an action item to come up with a (brief) version of chapter 4 of the Java spec, to say how a compliant implementation must behave in regards to Java serialization.
Sometimes when I try to come up with formal 2119 type wording, everything comes out sort of sounding like a bad mathematical proof.  Tried my best, this is the wording I came up with, comments and help with finding better wording welcome.
The DataObject interface extends java.io.Serializable:  DataObjects can be passed, directly or indirectly to Java's serialization mechanism.
Conversely, it is possible to restore DataObjects from an ObjectInputStream.   A Java Implementation of SDO MUST
assure that when a DataObject is serialized and later restored, then for every DataObject that is directly or indirectly reachable from the
original DataObject, though any combination of property values and calls to getContainer(), the same combination of calls starting from the
restored DataObject yields a DataObject for which the following conditions are met:
   1.  The two data objects are not the same (i.e., are not equal in the "==" sense).
   2.  Comparing both DataObjects using EqualityHelper.equals() returns true.
   3.  If getChangeSummary() returns null for one of the DataObjects, it returns null for both.
   4.  If getChangeSummary() does not return null, then when getChangeSummary().undoChanges() is called on both DataObjects
       and then they are compared using EqualityHelper.equals(), the result will be true.
Best Regards,

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]