--- /dev/null
+package org.simantics.db.impl;\r
+\r
+import org.simantics.db.AsyncReadGraph;\r
+import org.simantics.db.RelationInfo;\r
+import org.simantics.db.procedure.AsyncContextProcedure;\r
+\r
+public final class ForPossibleRelatedValueContextProcedure<C, T> implements AsyncContextProcedure<C, T> {\r
+\r
+ public final int predicateKey;\r
+ public final int[] clusterKey;\r
+ public final int[] predicateReference;\r
+ public final RelationInfo info;\r
+ public final ClusterI.CompleteTypeEnum completeType;\r
+ private final AsyncContextProcedure<C, T> user;\r
+ \r
+ public ForPossibleRelatedValueContextProcedure(int predicateKey, RelationInfo info, AsyncContextProcedure<C, T> user) {\r
+ this.predicateKey = predicateKey;\r
+ this.completeType = ClusterTraitsBase.getCompleteTypeFromResourceKey(predicateKey); \r
+ this.info = info;\r
+ this.user = user;\r
+ this.clusterKey = new int[32*8];\r
+ this.predicateReference = new int[32*8];\r
+ }\r
+ \r
+ @Override\r
+ public void execute(AsyncReadGraph graph, C context, T result) {\r
+ user.execute(graph, context, result);\r
+ }\r
+\r
+ @Override\r
+ public void exception(AsyncReadGraph graph, Throwable throwable) {\r
+ user.exception(graph, throwable);\r
+ }\r
+ \r
+};\r