| An implementation of GraphReaderWriter that uses java serialization to
read and write graph objects. During the graph serialization process
edges are written to the object output stream. Along with the edges,
the two nodes incident to the edge are also written. However, edge adjacency
lists of nodes are not written to the output stream in order to
prevent deep recursive calls that often result in a stack overflow. Therefore
it is important that any implementation of the Node interface declare its
edge adjacecny list (if any) as transient in order to support graph
serializability.
Because edge adjacency lists are not serialized, they must be reconstructed
upon deserialization in order to preserve the original graph structure.
author: Justin Deoliveira, Refractions Research Inc, jdeolive@refractions.net |