1 package org.simantics.db.impl.graph;
\r
3 import org.simantics.db.Resource;
\r
4 import org.simantics.db.exception.DatabaseException;
\r
5 import org.simantics.db.exception.NoSingleResultException;
\r
6 import org.simantics.db.impl.query.IntProcedure;
\r
7 import org.simantics.db.impl.query.QueryProcessor;
\r
9 public class PossibleObjectProcedure implements IntProcedure {
\r
11 private static DatabaseException DUMMY = new DatabaseException();
\r
13 final private QueryProcessor processor;
\r
14 private DatabaseException exception;
\r
15 private Resource result;
\r
17 public PossibleObjectProcedure(QueryProcessor processor) {
\r
18 this.processor = processor;
\r
22 public void execute(ReadGraphImpl graph, int i) {
\r
23 Resource resource = processor.querySupport.getResource(i);
\r
24 if(result != null) {
\r
32 public void finished(ReadGraphImpl graph) {
\r
36 public void exception(ReadGraphImpl graph, Throwable throwable) {
\r
37 if(throwable instanceof DatabaseException) exception = (DatabaseException)throwable;
\r
38 else throwable = new DatabaseException(throwable);
\r
41 public Resource get() throws DatabaseException {
\r
42 if(exception == DUMMY) return null;
\r
43 else if(exception != null) throw exception;
\r