X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.impl%2Fsrc%2Forg%2Fsimantics%2Fdb%2Fimpl%2Fquery%2FCacheEntry.java;h=21369d793d3231ff561c8b3ebe4469037962baee;hb=beffc2723bcc9b4219fc0b915f27542b0c159af9;hp=d65622dadd0a18ecafb1c15b3c7c22b15b345cb0;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/CacheEntry.java b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/CacheEntry.java index d65622dad..21369d793 100644 --- a/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/CacheEntry.java +++ b/bundles/org.simantics.db.impl/src/org/simantics/db/impl/query/CacheEntry.java @@ -16,7 +16,7 @@ import org.simantics.db.impl.graph.ReadGraphImpl; -public abstract class CacheEntry { +public abstract class CacheEntry { final public static int HAS_BEEN_BOUND = 1; @@ -29,28 +29,30 @@ public abstract class CacheEntry { abstract void setReady(); abstract void refute(); - abstract void setPending(); + abstract void setPending(QuerySupport querySupport); abstract void discard(); abstract void except(Throwable t); - abstract void setResult(Object result); abstract void clearResult(QuerySupport support); abstract void prepareRecompute(QuerySupport querySupport); abstract public Object getOriginalRequest(); abstract Query getQuery(); - abstract T getResult(); abstract CacheEntry pruneFirstParents(); + abstract void pruneParentSet(); abstract void removeParent(CacheEntry entry); abstract void addParent(CacheEntry entry); abstract boolean hasParents(); - abstract Iterable getParents(QueryProcessor processor); + abstract Iterable> getParents(QueryProcessor processor); abstract CacheEntry getFirstParent(QueryProcessor processor); abstract boolean moreThanOneParent(QueryProcessor processor); abstract int parentCount(QueryProcessor processor); - abstract void performFromCache(ReadGraphImpl graph, Object provider, Object procedure); + abstract T getResult(); + abstract void setResult(Object result); + + abstract Object performFromCache(ReadGraphImpl graph, Procedure procedure) throws DatabaseException; abstract boolean isImmutable(ReadGraphImpl graph) throws DatabaseException;