@Override
public void visitEdge(final WeightedBidirectionalDependencyGraphEdge<T> edge) {
final DependencyGraphNode<T> sourceNode = edge.getSource();
final DependencyGraphNode<T> destinationNode = edge.getTarget();
if ((sourceNode.equals(destinationNode)) && !this.plotLoops) {
return;
}
final String lineStyle = (edge.isAssumed()) ? DotFactory.DOT_STYLE_DASHED : DotFactory.DOT_STYLE_SOLID;
final String color = AbstractGraphFormatter.getDotRepresentation(edge.getColor());
if (this.includeWeights) {
this.builder.append(DotFactory.createConnection("", AbstractDependencyGraphFormatter.createNodeId(sourceNode),
AbstractDependencyGraphFormatter.createNodeId(destinationNode),
Integer.toString(edge.getTargetWeight().get()), lineStyle, DotFactory.DOT_ARROWHEAD_OPEN, color));
} else {
this.builder.append(DotFactory.createConnection("", AbstractDependencyGraphFormatter.createNodeId(sourceNode),
AbstractDependencyGraphFormatter.createNodeId(destinationNode), lineStyle,
DotFactory.DOT_ARROWHEAD_OPEN, color));
}
this.builder.append("\n");
}
}