]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.graph.compiler/src/org/simantics/graph/compiler/internal/templates/TemplateInstanceStore.java
bec1d5749781a4060b722f1256685a32ad1a41d5
[simantics/platform.git] / bundles / org.simantics.graph.compiler / src / org / simantics / graph / compiler / internal / templates / TemplateInstanceStore.java
1 package org.simantics.graph.compiler.internal.templates;\r
2 \r
3 import gnu.trove.map.hash.TIntIntHashMap;\r
4 \r
5 import java.util.ArrayList;\r
6 import java.util.Collection;\r
7 \r
8 import org.simantics.graph.store.IStore;\r
9 import org.simantics.graph.store.IndexMappingUtils;\r
10 \r
11 public class TemplateInstanceStore implements IStore {\r
12         ArrayList<int[]> templateInstances;\r
13 \r
14         public TemplateInstanceStore(ArrayList<int[]> templateInstances) {\r
15                 this.templateInstances = templateInstances;\r
16         }\r
17         \r
18         public TemplateInstanceStore() {\r
19                 this(new ArrayList<int[]>());\r
20         }\r
21 \r
22         @Override\r
23         public void map(final TIntIntHashMap map) {\r
24                 for(int[] templateInstance : templateInstances)\r
25                         IndexMappingUtils.map(map, templateInstance);\r
26         }\r
27         \r
28         public Collection<int[]> getTemplateInstances() {\r
29                 return templateInstances;\r
30         }\r
31 \r
32         public void add(int[] templateInstance) {\r
33                 templateInstances.add(templateInstance);                \r
34         }       \r
35 }\r