package org.batfish.grammar.topology;
import org.batfish.datamodel.Edge;
import org.batfish.datamodel.Topology;
import org.batfish.datamodel.collections.EdgeSet;
import org.batfish.grammar.topology.BatfishTopologyParser.*;
public class BatfishTopologyExtractor extends BatfishTopologyParserBaseListener
implements TopologyExtractor {
private EdgeSet _edges;
private Topology _topology;
public BatfishTopologyExtractor() {
_edges = new EdgeSet();
}
@Override
public void exitEdge_line(Edge_lineContext ctx) {
String node1 = ctx.node1.getText();
String node2 = ctx.node2.getText();
String int1 = ctx.int1.getText();
String int2 = ctx.int2.getText();
Edge edge = new Edge(node1, int1, node2, int2);
_edges.add(edge);
}
@Override
public void exitTopology(TopologyContext ctx) {
_topology = new Topology(_edges);
}
@Override
public Topology getTopology() {
return _topology;
}
}