--- /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.AsyncProcedure;\r
+\r
+public final class ForPossibleRelatedValueProcedure<T> implements AsyncProcedure<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 AsyncProcedure<T> user;\r
+ \r
+ public ForPossibleRelatedValueProcedure(int predicateKey, RelationInfo info, AsyncProcedure<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, T result) {\r
+ user.execute(graph, result);\r
+ }\r
+\r
+ @Override\r
+ public void exception(AsyncReadGraph graph, Throwable throwable) {\r
+ user.exception(graph, throwable);\r
+ }\r
+ \r
+};\r