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 StringDefault graph id used by the exporter.private static final StringFields 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 StringcomputeConnector(Graph<V, E> graph) Compute the connectorprivate StringcomputeFooter(Graph<V, E> graph) Compute the footerprivate StringcomputeGraphId(Graph<V, E> graph) Get the id of the graph.private StringcomputeHeader(Graph<V, E> graph) Compute the headerprivate static StringescapeDoubleQuotes(String labelName) voidexportGraph(Graph<V, E> g, Writer writer) Exports a graph into a plain text file in DOT format.private StringgetVertexID(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 voidrenderAttribute(PrintWriter out, String attrName, Attribute attribute) private voidrenderAttributes(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, setVertexIdProviderMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
exportGraphin 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 givenvertexIDProviderdidn't generate a valid vertex ID.
-