public class FileSinkSWF extends java.lang.Object implements FileSink
This work may never to any usable feature. Please do not try to use it or ask for help about it.
Modifier and Type | Class and Description |
---|---|
private static class |
FileSinkSWF.BitString |
Modifier and Type | Field and Description |
---|---|
(package private) java.nio.ByteBuffer |
buffer |
private static int |
BUFFER_SIZE |
(package private) java.nio.channels.FileChannel |
channel |
(package private) long |
currentSize |
private static byte |
F |
(package private) long |
position |
private static byte |
S |
private static byte |
VERSION |
private static byte |
W |
Constructor and Description |
---|
FileSinkSWF() |
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.
|
private void |
closeCurrentChannel() |
void |
edgeAdded(java.lang.String graphId,
long timeId,
java.lang.String edgeId,
java.lang.String fromNodeId,
java.lang.String toNodeId,
boolean directed)
An edge was inserted in graph.
|
void |
edgeAttributeAdded(java.lang.String graphId,
long timeId,
java.lang.String edgeId,
java.lang.String attribute,
java.lang.Object value)
A edge attribute was added.
|
void |
edgeAttributeChanged(java.lang.String graphId,
long timeId,
java.lang.String edgeId,
java.lang.String attribute,
java.lang.Object oldValue,
java.lang.Object newValue)
A edge attribute was changed.
|
void |
edgeAttributeRemoved(java.lang.String graphId,
long timeId,
java.lang.String edgeId,
java.lang.String attribute)
A edge attribute was removed.
|
void |
edgeRemoved(java.lang.String graphId,
long timeId,
java.lang.String edgeId)
An edge of graph was removed.The nodes the edge connects may already have
been removed from the graph.
|
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 |
graphAttributeAdded(java.lang.String graphId,
long timeId,
java.lang.String attribute,
java.lang.Object value)
A graph attribute was added.
|
void |
graphAttributeChanged(java.lang.String graphId,
long timeId,
java.lang.String attribute,
java.lang.Object oldValue,
java.lang.Object newValue)
A graph attribute was changed.
|
void |
graphAttributeRemoved(java.lang.String graphId,
long timeId,
java.lang.String attribute)
A graph attribute was removed.
|
void |
graphCleared(java.lang.String graphId,
long timeId)
The whole graph was cleared.
|
private void |
initChannelAndBuffer(java.lang.String path) |
static void |
main(java.lang.String[] args) |
void |
nodeAdded(java.lang.String graphId,
long timeId,
java.lang.String nodeId)
A node was inserted in the given graph.
|
void |
nodeAttributeAdded(java.lang.String graphId,
long timeId,
java.lang.String nodeId,
java.lang.String attribute,
java.lang.Object value)
A node attribute was added.
|
void |
nodeAttributeChanged(java.lang.String graphId,
long timeId,
java.lang.String nodeId,
java.lang.String attribute,
java.lang.Object oldValue,
java.lang.Object newValue)
A node attribute was changed.
|
void |
nodeAttributeRemoved(java.lang.String graphId,
long timeId,
java.lang.String nodeId,
java.lang.String attribute)
A node attribute was removed.
|
void |
nodeRemoved(java.lang.String graphId,
long timeId,
java.lang.String nodeId)
A node was removed from the graph.
|
void |
stepBegins(java.lang.String graphId,
long timeId,
double time)
Since dynamic graphs are based on discrete event modifications, the
notion of step is defined to simulate elapsed time between events.
|
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.
|
private void |
writeHeader() |
private static void |
writeRECT(java.nio.ByteBuffer buffer,
int xmin,
int xmax,
int ymin,
int ymax) |
private static void |
writeSingleBits(java.nio.ByteBuffer buffer,
int... values) |
private static final int BUFFER_SIZE
private static final byte F
private static final byte W
private static final byte S
private static final byte VERSION
java.nio.ByteBuffer buffer
java.nio.channels.FileChannel channel
long position
long currentSize
private void initChannelAndBuffer(java.lang.String path)
private void closeCurrentChannel()
private void writeHeader()
private static void writeRECT(java.nio.ByteBuffer buffer, int xmin, int xmax, int ymin, int ymax)
private static void writeSingleBits(java.nio.ByteBuffer buffer, int... values)
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 end() throws java.io.IOException
FileSink
FileSink.begin(OutputStream)
or
FileSink.begin(String)
.public void flush() throws java.io.IOException
FileSink
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 edgeAttributeAdded(java.lang.String graphId, long timeId, java.lang.String edgeId, java.lang.String attribute, java.lang.Object value)
AttributeSink
edgeAttributeAdded
in interface AttributeSink
graphId
- Identifier of the graph where the change occurred.edgeId
- Identifier of the edge whose attribute changed.attribute
- The attribute name.value
- The attribute new value.public void edgeAttributeChanged(java.lang.String graphId, long timeId, java.lang.String edgeId, java.lang.String attribute, java.lang.Object oldValue, java.lang.Object newValue)
AttributeSink
edgeAttributeChanged
in interface AttributeSink
graphId
- Identifier of the graph where the change occurred.edgeId
- Identifier of the edge whose attribute changed.attribute
- The attribute name.oldValue
- The attribute old value.newValue
- The attribute new value.public void edgeAttributeRemoved(java.lang.String graphId, long timeId, java.lang.String edgeId, java.lang.String attribute)
AttributeSink
edgeAttributeRemoved
in interface AttributeSink
graphId
- Identifier of the graph where the attribute was removed.edgeId
- Identifier of the edge whose attribute was removed.attribute
- The removed attribute name.public void graphAttributeAdded(java.lang.String graphId, long timeId, java.lang.String attribute, java.lang.Object value)
AttributeSink
graphAttributeAdded
in interface AttributeSink
graphId
- Identifier of the graph where the attribute changed.attribute
- The attribute name.value
- The attribute new value.public void graphAttributeChanged(java.lang.String graphId, long timeId, java.lang.String attribute, java.lang.Object oldValue, java.lang.Object newValue)
AttributeSink
graphAttributeChanged
in interface AttributeSink
graphId
- Identifier of the graph where the attribute changed.attribute
- The attribute name.oldValue
- The attribute old value.newValue
- The attribute new value.public void graphAttributeRemoved(java.lang.String graphId, long timeId, java.lang.String attribute)
AttributeSink
graphAttributeRemoved
in interface AttributeSink
graphId
- Identifier of the graph where the attribute was removed.attribute
- The removed attribute name.public void nodeAttributeAdded(java.lang.String graphId, long timeId, java.lang.String nodeId, java.lang.String attribute, java.lang.Object value)
AttributeSink
nodeAttributeAdded
in interface AttributeSink
graphId
- Identifier of the graph where the change occurred.nodeId
- Identifier of the node whose attribute changed.attribute
- The attribute name.value
- The attribute new value.public void nodeAttributeChanged(java.lang.String graphId, long timeId, java.lang.String nodeId, java.lang.String attribute, java.lang.Object oldValue, java.lang.Object newValue)
AttributeSink
nodeAttributeChanged
in interface AttributeSink
graphId
- Identifier of the graph where the change occurred.nodeId
- Identifier of the node whose attribute changed.attribute
- The attribute name.oldValue
- The attribute old value.newValue
- The attribute new value.public void nodeAttributeRemoved(java.lang.String graphId, long timeId, java.lang.String nodeId, java.lang.String attribute)
AttributeSink
nodeAttributeRemoved
in interface AttributeSink
graphId
- Identifier of the graph where the attribute was removed.nodeId
- Identifier of the node whose attribute was removed.attribute
- The removed attribute name.public void edgeAdded(java.lang.String graphId, long timeId, java.lang.String edgeId, java.lang.String fromNodeId, java.lang.String toNodeId, boolean directed)
ElementSink
edgeAdded
in interface ElementSink
graphId
- Identifier of the graph where the edge was added.edgeId
- Identifier of the added edge.fromNodeId
- Identifier of the first node of the edge.toNodeId
- Identifier of the second node of the edge.directed
- If true, the edge is directed.public void edgeRemoved(java.lang.String graphId, long timeId, java.lang.String edgeId)
ElementSink
edgeRemoved
in interface ElementSink
graphId
- The graph where the edge will be removed.edgeId
- The edge that will be removed.public void graphCleared(java.lang.String graphId, long timeId)
ElementSink
graphCleared
in interface ElementSink
graphId
- The graph cleared.public void nodeAdded(java.lang.String graphId, long timeId, java.lang.String nodeId)
ElementSink
nodeAdded
in interface ElementSink
graphId
- Identifier of the graph where the node was added.nodeId
- Identifier of the added node.public void nodeRemoved(java.lang.String graphId, long timeId, java.lang.String nodeId)
ElementSink
nodeRemoved
in interface ElementSink
graphId
- Identifier of the graph where the node will be removed.nodeId
- Identifier of the removed node.public void stepBegins(java.lang.String graphId, long timeId, double time)
ElementSink
Since dynamic graphs are based on discrete event modifications, the notion of step is defined to simulate elapsed time between events. So a step is a event that occurs in the graph, it does not modify it but it gives a kind of timestamp that allow the tracking of the progress of the graph over the time.
This kind of event is useful for dynamic algorithms that listen to the dynamic graph and need to measure the time in the graph's evolution.
stepBegins
in interface ElementSink
graphId
- Identifier of the graph where the step starts.timeId
- A numerical value that may give a timestamp to track the
evolution of the graph over the time.public static void main(java.lang.String[] args)