public abstract class FileSinkBase extends java.lang.Object implements FileSink
This class provides base services to write graphs into files using a specific file format. It allows to create an output stream. By default a print stream for easy text output, but binary files are possible.
It handles completely the writeAll(Graph, OutputStream)
,
writeAll(Graph, String)
, begin(OutputStream)
,
begin(String)
, flush()
and end()
methods. You
should not have to modify or override these.
In order to implement an output you have to:
createWriter(OutputStream)
or
createWriter(String)
to replace the default instance of PrintStream
created for you.outputHeader()
method. This method is called at
start, before any graph event is sent to output. Use it to output the header
of your file.outputEndOfFile()
method. This method is called at
the end of the output, just before closing the output stream. Use it to
output any terminating syntax for the file format you implement.Sink
. All
these methods will be called for each graph event and must export these
events to the file you are writing. You should use the output
field
to write to the file. This field has type OutputStream
but by
default is of type PrintStream
, as most of the file format
will be textual.Constructor and Description |
---|
FileSinkBase() |
Modifier and Type | Method and Description |
---|---|
void |
begin(java.io.OutputStream stream)
Begin the output of the given stream of graph events.
|
void |
begin(java.lang.String fileName)
Begin the output of the given stream of graph events.
|
void |
begin(java.io.Writer writer)
Begin the output of the given stream of graph events.
|
void |
end()
End the writing process started with
FileSink.begin(OutputStream) or
FileSink.begin(String) . |
void |
flush()
Ensure all data sent to the output are correctly written.
|
void |
writeAll(Graph graph,
java.io.OutputStream stream)
Write the current graph state in one big non-interruptible operation.
|
void |
writeAll(Graph graph,
java.lang.String fileName)
Write the current graph state in one big non-interruptible operation.
|
void |
writeAll(Graph graph,
java.io.Writer writer)
Write the current graph state in one big non-interruptible operation.
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
edgeAttributeAdded, edgeAttributeChanged, edgeAttributeRemoved, graphAttributeAdded, graphAttributeChanged, graphAttributeRemoved, nodeAttributeAdded, nodeAttributeChanged, nodeAttributeRemoved
edgeAdded, edgeRemoved, graphCleared, nodeAdded, nodeRemoved, stepBegins
public void writeAll(Graph graph, java.lang.String fileName) throws java.io.IOException
FileSink
FileSink.begin(OutputStream)
or FileSink.begin(String)
as soon as the
graph appears (or any source of graph event, any descendant of Source
will do).public void writeAll(Graph graph, java.io.OutputStream stream) throws java.io.IOException
FileSink
FileSink.begin(Writer)
or FileSink.begin(OutputStream)
or
FileSink.begin(String)
as soon as the graph appears (or any source of graph
event, any descendant of Source
will do).public void writeAll(Graph graph, java.io.Writer writer) throws java.io.IOException
FileSink
FileSink.begin(Writer)
or FileSink.begin(OutputStream)
or
FileSink.begin(String)
as soon as the graph appears (or any source of graph
event, any descendant of Source
will do).public void begin(java.lang.String fileName) throws java.io.IOException
FileSink
Source
or you can directly use
the methods inherited from Sink
. Once the writing is started using
begin(), you must close it using FileSink.end()
when done to ensure data is
correctly stored in the file.public void begin(java.io.OutputStream stream) throws java.io.IOException
FileSink
Source
or you can directly use
the methods inherited from Sink
. Once the writing is started using
begin(), you must close it using FileSink.end()
when done to ensure data is
correctly stored in the file.public void begin(java.io.Writer writer) throws java.io.IOException
FileSink
Source
or you can directly use
the methods inherited from Sink
. Once the writing is started using
begin(), you must close it using FileSink.end()
when done to ensure data is
correctly stored in the file.public void flush() throws java.io.IOException
FileSink
public void end() throws java.io.IOException
FileSink
FileSink.begin(OutputStream)
or
FileSink.begin(String)
.