java.lang.Object
org.jgrapht.nio.BaseExporter<V,E>
org.jgrapht.nio.dot.DOTExporter<V,E>
- Type Parameters:
V
- the graph vertex typeE
- the graph edge type
- All Implemented Interfaces:
GraphExporter<V,
E>
Exports a graph into a DOT file.
For a description of the format see http://en.wikipedia.org/wiki/DOT_language.
The user can adjust the behavior using the various providers.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Default graph id used by the exporter.private static final String
Fields inherited from class org.jgrapht.nio.BaseExporter
edgeAttributeProvider, edgeIdProvider, graphAttributeProvider, graphIdProvider, vertexAttributeProvider, vertexIdProvider
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new DOTExporter object with an integer id provider.DOTExporter
(Function<V, String> vertexIdProvider) Constructs a new DOTExporter object with the given id provider. -
Method Summary
Modifier and TypeMethodDescriptionprivate String
computeConnector
(Graph<V, E> graph) Compute the connectorprivate String
computeFooter
(Graph<V, E> graph) Compute the footerprivate String
computeGraphId
(Graph<V, E> graph) Get the id of the graph.private String
computeHeader
(Graph<V, E> graph) Compute the headerprivate static String
escapeDoubleQuotes
(String labelName) void
exportGraph
(Graph<V, E> g, Writer writer) Exports a graph into a plain text file in DOT format.private String
getVertexID
(V v) Return a valid vertex ID (with respect to the .dot language definition as described in http://www.graphviz.org/doc/info/lang.htmlprivate void
renderAttribute
(PrintWriter out, String attrName, Attribute attribute) private void
renderAttributes
(PrintWriter out, Map<String, Attribute> attributes) Methods inherited from class org.jgrapht.nio.BaseExporter
getEdgeAttribute, getEdgeAttributeProvider, getEdgeAttributes, getEdgeId, getEdgeIdProvider, getGraphAttribute, getGraphAttributeProvider, getGraphId, getGraphIdProvider, getVertexAttribute, getVertexAttributeProvider, getVertexAttributes, getVertexId, getVertexIdProvider, setEdgeAttributeProvider, setEdgeIdProvider, setGraphAttributeProvider, setGraphIdProvider, setVertexAttributeProvider, setVertexIdProvider
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.jgrapht.nio.GraphExporter
exportGraph, exportGraph
-
Field Details
-
DEFAULT_GRAPH_ID
Default graph id used by the exporter.- See Also:
-
INDENT
- See Also:
-
validatedIds
-
-
Constructor Details
-
DOTExporter
public DOTExporter()Constructs a new DOTExporter object with an integer id provider. -
DOTExporter
Constructs a new DOTExporter object with the given id provider. Additional providers such as attributes can be given using the appropriate setter methods.- Parameters:
vertexIdProvider
- for generating vertex IDs. Must not be null.
-
-
Method Details
-
exportGraph
Exports a graph into a plain text file in DOT format.- Specified by:
exportGraph
in interfaceGraphExporter<V,
E> - Parameters:
g
- the graph to be exportedwriter
- the writer to which the graph to be exported
-
computeHeader
Compute the header- Parameters:
graph
- the graph- Returns:
- the header
-
computeConnector
Compute the connector- Parameters:
graph
- the graph- Returns:
- the connector
-
computeGraphId
Get the id of the graph.- Parameters:
graph
- the graph- Returns:
- the graph id
-
renderAttributes
-
renderAttribute
-
escapeDoubleQuotes
-
getVertexID
Return a valid vertex ID (with respect to the .dot language definition as described in http://www.graphviz.org/doc/info/lang.htmlQuoted from above mentioned source: An ID is valid if it meets one of the following criteria:
- any string of alphabetic characters, underscores or digits, not beginning with a digit;
- a number [-]?(.[0-9]+ | [0-9]+(.[0-9]*)? );
- any double-quoted string ("...") possibly containing escaped quotes (\");
- an HTML string (invalid input: '<'...>).
- Throws:
ExportException
- if the givenvertexIDProvider
didn't generate a valid vertex ID.
-