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=fd9ae3f8e84dba593b27d149d6e6a8baf17cc0fa;hp=387d5e4fd3ffc563d2690495078602d9928ccd6c;hpb=080d7c58c8228aeefc00960b8fd50cf193a04c0c;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