Package org.geotools.graph.io.standard
Class TextfileReaderWriter
Object
AbstractReaderWriter
TextfileReaderWriter
- All Implemented Interfaces:
GraphReaderWriter
,FileReaderWriter
An implementation of GraphReaderWriter that reads/writes graphs from/to text files. Each line of the text file
represents an object to be modelled by the graph.
When performing a read, the text file is read line by line. As each line is read it is tokenized based on the delimiter property, and passed to the template method readInternal(StringTokenizer), which must be implemented by a subclass. The method returns the object that is to be represented in the graph. The returned object is then passed to an underlying GraphGenerator which creates the necessary graph components to modell the object.
When performing a write, the graph is read component by component based on set properties. If the NODES property is set, nodes will be written. If the EDGES property is set, edges will be written as well. As each component is processed, it is passed to the repspective template methods writeNode(Writer,Node) and writeEdge(Writer,Edge). The methods then write out the text representation of the component.
When performing a read, the text file is read line by line. As each line is read it is tokenized based on the delimiter property, and passed to the template method readInternal(StringTokenizer), which must be implemented by a subclass. The method returns the object that is to be represented in the graph. The returned object is then passed to an underlying GraphGenerator which creates the necessary graph components to modell the object.
When performing a write, the graph is read component by component based on set properties. If the NODES property is set, nodes will be written. If the EDGES property is set, edges will be written as well. As each component is processed, it is passed to the repspective template methods writeNode(Writer,Node) and writeEdge(Writer,Edge). The methods then write out the text representation of the component.
- Author:
- Justin Deoliveira, Refractions Research Inc, jdeolive@refractions.net
-
Field Summary
FieldsFields inherited from class AbstractReaderWriter
BUILDER, EDGES, GENERATOR, NODES
Fields inherited from interface FileReaderWriter
FILENAME
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionread()
Performs a read of the text file line by line.protected abstract Object
Template method for returning the object represented by a line in the text file being read.void
Performs a write on the graph out to a text file.protected void
Template method for writing the text representation of an edge to an text file.protected void
Template method for writing the text representation of a node to an text file.Methods inherited from class AbstractReaderWriter
getProperty, setProperty, setProperty
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface GraphReaderWriter
getProperty, setProperty
-
Field Details
-
DELIMITER
line delimiter key *- See Also:
-
-
Constructor Details
-
TextfileReaderWriter
public TextfileReaderWriter()
-
-
Method Details
-
read
Performs a read of the text file line by line. As each line is read the corresponding graph components represented by the line of text are created by an underlying GraphGenerator.- Specified by:
read
in interfaceGraphReaderWriter
- Returns:
- The represented graph.
- Throws:
Exception
- See Also:
-
GraphGenerator#read()
-
write
Performs a write on the graph out to a text file. If the NODES property is set, the nodes of the graph will be written, and if the EDGES property is set, the edges of the graph will be written.* @see GraphGenerator#write()
- Specified by:
write
in interfaceGraphReaderWriter
- Parameters:
g
- The graph to be- Throws:
Exception
-
writeNode
Template method for writing the text representation of a node to an text file.- Parameters:
out
- The text file writer.n
- The node to write.
-
writeEdge
Template method for writing the text representation of an edge to an text file.- Parameters:
out
- The text file writer.e
- The edge to write.
-
readInternal
Template method for returning the object represented by a line in the text file being read.- Parameters:
st
- The tokenized line read from text file.- Returns:
- The object represented by the line of text.
-