package i5.las2peer.services.ocd.graphs; import y.base.Edge; import y.base.GraphEvent; import y.base.GraphListener; import y.base.Node; /** * Listener for Custom Graph Events. * Is already integrated into custom graphs and hence should not be readded manually. * @author Sebastian * */ public class CustomGraphListener implements GraphListener { @Override public void onGraphEvent(GraphEvent event) { if(event.getGraph() instanceof CustomGraph) { CustomGraph graph = (CustomGraph)event.getGraph(); byte type = event.getType(); switch(type) { case GraphEvent.EDGE_CREATION: if(event.getData() instanceof Edge) { graph.addCustomEdge((Edge)event.getData()); } break; case GraphEvent.PRE_EDGE_REMOVAL: if(event.getData() instanceof Edge) { graph.removeCustomEdge((Edge)event.getData()); } break; case GraphEvent.NODE_CREATION: if(event.getData() instanceof Node) { graph.addCustomNode((Node)event.getData()); } break; case GraphEvent.PRE_NODE_REMOVAL: if(event.getData() instanceof Node) { graph.removeCustomNode((Node)event.getData()); } break; default: } } } }