X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.interop.update%2Fsrc%2Forg%2Fsimantics%2Finterop%2Fupdate%2Fmodel%2FUpdateOp.java;h=3b633c28cdfd5a017995ff7e2c1a364b9cc4d22f;hb=abc8f6a39f4af28746f155365b1ba8673bc33ef8;hp=50954ec1ffca968cc3e06a6dfbd1b09a59e4765e;hpb=ad41372334925e15d700592ffb05c3aff46a5050;p=simantics%2Finterop.git diff --git a/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateOp.java b/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateOp.java index 50954ec..3b633c2 100644 --- a/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateOp.java +++ b/org.simantics.interop.update/src/org/simantics/interop/update/model/UpdateOp.java @@ -2,6 +2,7 @@ package org.simantics.interop.update.model; import java.util.ArrayList; import java.util.Collection; +import java.util.List; import org.simantics.db.Resource; import org.simantics.db.Statement; @@ -37,10 +38,26 @@ public abstract class UpdateOp { return parentOps; } + public Collection getParentOpsWithClass(Class cls) { + List ops = new ArrayList(parentOps.size()); + for (UpdateOp op : parentOps) + if (cls.isAssignableFrom(op.getClass())) + ops.add((T)op); + return ops; + } + public Collection getSubOps() { return subOps; } + public Collection getSubOpsWithClass(Class cls) { + List ops = new ArrayList(subOps.size()); + for (UpdateOp op : subOps) + if (cls.isAssignableFrom(op.getClass())) + ops.add((T)op); + return ops; + } + public void addParentOp(UpdateOp op) { assert (!op.equals(this)); parentOps.add(op);