/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package datapath.graph.display.dot; import datapath.graph.display.Display; import datapath.graph.display.DisplayEdge.Color; import datapath.graph.display.DisplayEdge.Type; import datapath.graph.display.DisplayFactory; import datapath.graph.operations.Operation; import java.util.HashMap; /** * * @author jh */ public class DotDisplayFactory extends DisplayFactory<DisplayEdge,DisplayNode> { HashMap<Operation,DisplayNode> nodes = new HashMap(); @Override public DisplayEdge displayEdge(Operation source, Operation target, Type type, Color color) { return new DisplayEdge(displayNode(source), displayNode(target), type, color); } @Override public DisplayNode displayNode(Operation op) { DisplayNode node = nodes.get(op); if(node == null) { node = new DisplayNode(op); nodes.put(op, node); } return node; } @Override public Display display(String name) { return new DotDisplay(name); } }