Re: serializing
markspace wrote:
Arne Vajh=EF=BF=BDj wrote:
ObjectOutputStream and ObjectInputStream will get it right.
Thanks for pointing that out. I would have guessed that serialization
would not get this right.
http://docs.oracle.com/javase/7/docs/platform/serialization/spec/serialTOC.=
html
Linked from the java.io API docs.
"The writeObject method (see Section 2.3, "The writeObject Method") seriali=
zes the specified object and
traverses its references to other objects in the object graph recursively t=
o create a complete serialized
representation of the graph. Within a stream, the first reference to any ob=
ject results in the object being
serialized or externalized and the assignment of a handle for that object. =
Subsequent references to that
object are encoded as the handle. Using object handles preserves sharing an=
d circular references that
occur naturally in object graphs. Subsequent references to an object use on=
ly the handle allowing a very
compact representation."
No need for guesswork.
Does anyone know what XmlEncoder/Decoder do off hand? I would think the=
problem is even harder here, but maybe there's a trick they use to
prevent errors there too.
The API docs do.
http://docs.oracle.com/javase/7/docs/api/java/beans/XMLEncoder.html
=93XML's standard "id" and "idref" attributes are used to make references t=
o previous expressions -
so as to deal with circularities in the object graph.=94
--
Lew