package ilarkesto.tools.graphviz;
import java.util.HashMap;
import java.util.Map;
public class Edge {
private Map<String, String> properties = new HashMap<String, String>();
private Node from;
private Node to;
Edge(Node from, Node to) {
this.from = from;
this.to = to;
}
public Edge label(String label) {
properties.put("label", "\"" + label + "\"");
return this;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(from.getName()).append(" -> ").append(to.getName());
sb.append(" [ ");
boolean first = true;
for (Map.Entry<String, String> entry : properties.entrySet()) {
if (first) {
first = false;
} else {
sb.append(", ");
}
sb.append(entry.getKey()).append("=").append(entry.getValue());
}
sb.append(" ];");
return sb.toString();
}
}