1 package org.simantics.db.impl.query;
3 import org.simantics.db.exception.DatabaseException;
5 abstract public class QueryFactoryBase implements QueryFactory {
7 abstract protected CacheEntryBase readKeyAndValue(QueryDeserializer deserializer) throws DatabaseException;
9 public void readParents(QueryDeserializer deserializer, CacheEntryBase entry) throws DatabaseException {
10 int ps = deserializer.readLE4();
11 for(int i=0;i<ps;i++) {
12 QueryFactory qf = deserializer.readFactory();
13 CacheEntryBase ceb = qf.reference(deserializer);
19 final public CacheEntryBase read(QueryDeserializer deserializer) throws DatabaseException {
20 CacheEntryBase entry = readKeyAndValue(deserializer);
21 readParents(deserializer, entry);