package org.batfish.graphviz; import java.util.Set; import java.util.TreeSet; import org.batfish.datamodel.Prefix; public class GraphvizDigraph extends GraphvizInput { public static String getGraphName(Prefix prefix) { return "graph_" + prefix.toString().replace('/', '_').replace('.', '_'); } private final Set<GraphvizEdge> _edges; private final Set<GraphvizNode> _nodes; public GraphvizDigraph(String name) { super(name); _edges = new TreeSet<>(); _nodes = new TreeSet<>(); } public Set<GraphvizEdge> getEdges() { return _edges; } public Set<GraphvizNode> getNodes() { return _nodes; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("digraph " + _name + " {\n"); for (GraphvizNode node : _nodes) { sb.append("\t" + node.toString() + "\n"); } for (GraphvizEdge edge : _edges) { sb.append("\t" + edge.toString() + "\n"); } sb.append("}\n"); return sb.toString(); } }