X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fgraph%2FGraph.java;h=0e4f6ccb0b28c82020ed8dd0e17b8aab5c5f3164;hb=102eebeba2200f9bb2d8523bdfe7ace4ff663628;hp=387d5e4fd3ffc563d2690495078602d9928ccd6c;hpb=9bc96feb1a8b20fdb87edbfca54297e206229112;p=utils diff --git a/system/general/src/main/java/org/wamblee/system/graph/Graph.java b/system/general/src/main/java/org/wamblee/system/graph/Graph.java index 387d5e4f..0e4f6ccb 100644 --- a/system/general/src/main/java/org/wamblee/system/graph/Graph.java +++ b/system/general/src/main/java/org/wamblee/system/graph/Graph.java @@ -16,6 +16,7 @@ package org.wamblee.system.graph; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; /** @@ -174,6 +175,18 @@ public class Graph { } } } + + /** + * Applies a filter to the graph for removing elements. + * @param aFilter Filter to apply. + */ + public void applyFilter(EdgeFilter aFilter) { + for (Iterator edge = _edges.iterator(); edge.hasNext(); ) { + if (aFilter.isViolated(edge.next())) { + edge.remove(); + } + } + } /** * Finds all outgoing edges of a node. More specifically, finds