-package org.simantics.graph.compiler.internal.templates;\r
-\r
-import java.util.Collection;\r
-\r
-import org.simantics.graph.compiler.ExternalFileLoader;\r
-import org.simantics.graph.query.IGraph;\r
-import org.simantics.graph.query.Paths;\r
-import org.simantics.graph.store.GraphStore;\r
-import org.simantics.ltk.Problem;\r
-\r
-public enum OrderedSetTemplate implements ITemplate {\r
- \r
- INSTANCE;\r
- \r
- @Override\r
- public void apply(IGraph graph, GraphStore store,\r
- int[] parameters, ExternalFileLoader fileLoader, Collection<Problem> problems) {\r
- createList(graph.getPaths(), store, parameters);\r
- }\r
- \r
- public static void createList(Paths paths, GraphStore store, int[] parameters) {\r
- int InverseOf = store.identities.createPathToId(paths.InverseOf);\r
- int SubrelationOf = store.identities.createPathToId(paths.SubrelationOf);\r
- int HasNext = store.identities.createPathToId(paths.HasNext);\r
- int HasPrevious = store.identities.createPathToId(paths.HasPrevious);\r
- \r
- int relation = parameters[0]; \r
- store.statements.add(relation, SubrelationOf, HasNext);\r
- int inverse = store.identities.newResource();\r
- store.statements.add(inverse, SubrelationOf, HasPrevious);\r
- store.statements.add(relation, InverseOf, inverse);\r
- \r
- for(int i=1;i<parameters.length;++i)\r
- store.statements.add(parameters[i-1], relation, parameters[i]);\r
- store.statements.add(parameters[parameters.length-1], relation, relation);\r
- }\r
-\r
-}\r
-\r
+package org.simantics.graph.compiler.internal.templates;
+
+import java.util.Collection;
+
+import org.simantics.graph.compiler.ExternalFileLoader;
+import org.simantics.graph.compiler.internal.ltk.Problem;
+import org.simantics.graph.query.IGraph;
+import org.simantics.graph.query.Paths;
+import org.simantics.graph.store.GraphStore;
+
+public enum OrderedSetTemplate implements ITemplate {
+
+ INSTANCE;
+
+ @Override
+ public void apply(IGraph graph, GraphStore store,
+ int[] parameters, ExternalFileLoader fileLoader, Collection<Problem> problems) {
+ createList(graph.getPaths(), store, parameters);
+ }
+
+ public static void createList(Paths paths, GraphStore store, int[] parameters) {
+ int InverseOf = store.identities.createPathToId(paths.InverseOf);
+ int SubrelationOf = store.identities.createPathToId(paths.SubrelationOf);
+ int HasNext = store.identities.createPathToId(paths.HasNext);
+ int HasPrevious = store.identities.createPathToId(paths.HasPrevious);
+
+ int relation = parameters[0];
+ store.statements.add(relation, SubrelationOf, HasNext);
+ int inverse = store.identities.newResource();
+ store.statements.add(inverse, SubrelationOf, HasPrevious);
+ store.statements.add(relation, InverseOf, inverse);
+
+ for(int i=1;i<parameters.length;++i)
+ store.statements.add(parameters[i-1], relation, parameters[i]);
+ store.statements.add(parameters[parameters.length-1], relation, relation);
+ }
+
+}
+