public class FileSinkSVG extends FileSinkBase
Do not confuse this with the SVG export capabilities of the graph viewer. The SVG export of the viewer provides the most exact copy of what you see on screen. This class is made to export only nodes and edges without styling to SVG.
Although there is no styling, each node and edge is put in a SVG group with the identifier of the corresponding element in the graph. A minimal CSS style sheet is included in the generated file and it is easy to add another.
Modifier and Type | Class and Description |
---|---|
protected static class |
FileSinkSVG.What
What element ?.
|
Modifier and Type | Field and Description |
---|---|
protected HashMap<String,Point3> |
nodePos
The positions of each node.
|
protected PrintWriter |
out
The output.
|
output
Constructor and Description |
---|
FileSinkSVG() |
Modifier and Type | Method and Description |
---|---|
protected void |
addRule(StringBuilder out,
Rule rule) |
void |
edgeAdded(String graphId,
long timeId,
String edgeId,
String fromNodeId,
String toNodeId,
boolean directed)
An edge was inserted in graph.
|
void |
edgeAttributeAdded(String graphId,
long timeId,
String edgeId,
String attribute,
Object value)
A edge attribute was added.
|
void |
edgeAttributeChanged(String graphId,
long timeId,
String edgeId,
String attribute,
Object oldValue,
Object newValue)
A edge attribute was changed.
|
void |
edgeAttributeRemoved(String graphId,
long timeId,
String edgeId,
String attribute)
A edge attribute was removed.
|
void |
edgeRemoved(String graphId,
long timeId,
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 |
graphAttributeAdded(String graphId,
long timeId,
String attribute,
Object value)
A graph attribute was added.
|
void |
graphAttributeChanged(String graphId,
long timeId,
String attribute,
Object oldValue,
Object newValue)
A graph attribute was changed.
|
void |
graphAttributeRemoved(String graphId,
long timeId,
String attribute)
A graph attribute was removed.
|
void |
graphCleared(String graphId,
long timeId)
The whole graph was cleared.
|
void |
nodeAdded(String graphId,
long timeId,
String nodeId)
A node was inserted in the given graph.
|
void |
nodeAttributeAdded(String graphId,
long timeId,
String nodeId,
String attribute,
Object value)
A node attribute was added.
|
void |
nodeAttributeChanged(String graphId,
long timeId,
String nodeId,
String attribute,
Object oldValue,
Object newValue)
A node attribute was changed.
|
void |
nodeAttributeRemoved(String graphId,
long timeId,
String nodeId,
String attribute)
A node attribute was removed.
|
void |
nodeRemoved(String graphId,
long timeId,
String nodeId)
A node was removed from the graph.
|
protected void |
outputEndOfFile()
Method called at the end just before the
FileSinkBase.output field is flushed
and closed. |
protected void |
outputHeader()
Method called at start just after the
FileSinkBase.output field is created. |
protected void |
outputNodes() |
protected void |
outputStyle(String styleSheet) |
protected void |
setNodePos(String nodeId,
String attribute,
Object value) |
void |
stepBegins(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.
|
protected String |
styleSheetToSVG(StyleSheet sheet) |
begin, begin, begin, createWriter, createWriter, createWriter, exportGraph, flush, writeAll, writeAll, writeAll
protected PrintWriter out
public FileSinkSVG()
public void end() throws IOException
FileSink
FileSink.begin(OutputStream)
or
FileSink.begin(String)
.end
in interface FileSink
end
in class FileSinkBase
IOException
protected void outputHeader() throws IOException
FileSinkBase
FileSinkBase.output
field is created.
Use it to output the header of the file.outputHeader
in class FileSinkBase
IOException
- If any I/O error occurs.protected void outputEndOfFile() throws IOException
FileSinkBase
FileSinkBase.output
field is flushed
and closed. Use it to output any information that closes the file.outputEndOfFile
in class FileSinkBase
IOException
- If any I/O error occurs.public void edgeAttributeAdded(String graphId, long timeId, String edgeId, String attribute, Object value)
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(String graphId, long timeId, String edgeId, String attribute, Object oldValue, Object newValue)
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(String graphId, long timeId, String edgeId, String attribute)
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(String graphId, long timeId, String attribute, Object value)
AttributeSink
graphId
- Identifier of the graph where the attribute changed.attribute
- The attribute name.value
- The attribute new value.public void graphAttributeChanged(String graphId, long timeId, String attribute, Object oldValue, Object newValue)
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(String graphId, long timeId, String attribute)
AttributeSink
graphId
- Identifier of the graph where the attribute was removed.attribute
- The removed attribute name.public void nodeAttributeAdded(String graphId, long timeId, String nodeId, String attribute, Object value)
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(String graphId, long timeId, String nodeId, String attribute, Object oldValue, Object newValue)
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(String graphId, long timeId, String nodeId, String attribute)
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(String graphId, long timeId, String edgeId, String fromNodeId, String toNodeId, boolean directed)
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(String graphId, long timeId, String edgeId)
ElementSink
graphId
- The graph where the edge will be removed.edgeId
- The edge that will be removed.public void graphCleared(String graphId, long timeId)
ElementSink
graphId
- The graph cleared.public void nodeAdded(String graphId, long timeId, String nodeId)
ElementSink
graphId
- Identifier of the graph where the node was added.nodeId
- Identifier of the added node.public void nodeRemoved(String graphId, long timeId, String nodeId)
ElementSink
graphId
- Identifier of the graph where the node will be removed.nodeId
- Identifier of the removed node.public void stepBegins(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.
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.protected void setNodePos(String nodeId, String attribute, Object value)
protected void outputStyle(String styleSheet)
protected void outputNodes()
protected String styleSheetToSVG(StyleSheet sheet)
protected void addRule(StringBuilder out, Rule rule)
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses