1 package org.simantics.db.impl;
3 import org.simantics.db.ReadGraph;
4 import org.simantics.db.RelationInfo;
5 import org.simantics.db.exception.DatabaseException;
6 import org.simantics.db.procedure.SyncProcedure;
8 public final class ForPossibleRelatedValueProcedure<T> implements SyncProcedure<T> {
10 public final int predicateKey;
11 public final int[] clusterKey;
12 public final int[] predicateReference;
13 public final RelationInfo info;
14 public final ClusterI.CompleteTypeEnum completeType;
15 private final SyncProcedure<T> user;
17 public ForPossibleRelatedValueProcedure(int predicateKey, RelationInfo info, SyncProcedure<T> user) {
18 this.predicateKey = predicateKey;
19 this.completeType = ClusterTraitsBase.getCompleteTypeFromResourceKey(predicateKey);
22 this.clusterKey = new int[32*8];
23 this.predicateReference = new int[32*8];
27 public void execute(ReadGraph graph, T result) throws DatabaseException {
28 user.execute(graph, result);
32 public void exception(ReadGraph graph, Throwable throwable) throws DatabaseException {
33 user.exception(graph, throwable);