X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Frequests%2FCollectionResult.java;h=c182c59c80120b7c5eff2814b7a073a07898fc44;hp=ff06e43d0946bc10a6bb15a6155232e17631718c;hb=6573b29e111ea03c3fa88bf1565d47d0fc4faabd;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07 diff --git a/bundles/org.simantics.modeling/src/org/simantics/modeling/requests/CollectionResult.java b/bundles/org.simantics.modeling/src/org/simantics/modeling/requests/CollectionResult.java index ff06e43d0..c182c59c8 100644 --- a/bundles/org.simantics.modeling/src/org/simantics/modeling/requests/CollectionResult.java +++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/requests/CollectionResult.java @@ -29,6 +29,9 @@ import org.simantics.scl.runtime.function.Function1; */ public class CollectionResult { + public static final IFilter DIAGRAM_RESOURCE_FILTER = o -> Nodes.DIAGRAM_RESOURCE_PREDICATE.test((Node) o); + public static final IFilter DIAGRAM_RESOURCE_AND_RVI_FILTER = o -> Nodes.DIAGRAM_RESOURCE_AND_RVI_PREDICATE.test((Node) o); + public class DiagramFilter implements IFilter { private final IFilter proxy; @@ -44,10 +47,28 @@ public class CollectionResult { } - final public Set roots = new ConcurrentSkipListSet(); - final private Set diagramSet = new ConcurrentSkipListSet(); - final public List diagramList = new Vector(); - final public Map diagrams = new ConcurrentHashMap(); + public final Set roots; + private final Set diagramSet; + public final List diagramList; + public final Map diagrams; + + public CollectionResult() { + this.roots = new ConcurrentSkipListSet(); + this.diagramSet = new ConcurrentSkipListSet(); + this.diagramList = new Vector(); + this.diagrams = new ConcurrentHashMap(); + } + + private CollectionResult(Set roots, Set diagramSet, List diagramList, Map diagrams) { + this.roots = roots; + this.diagramSet = diagramSet; + this.diagramList = diagramList; + this.diagrams = diagrams; + } + + public CollectionResult withRoots(Set roots) { + return new CollectionResult(roots, diagramSet, diagramList, diagrams); + } public void addDiagram(Resource r, Node n) { diagramList.add(n);