]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetNodeManager.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / SpreadsheetNodeManager.java
1 package org.simantics.spreadsheet.graph;\r
2 \r
3 import java.util.Collections;\r
4 import java.util.Set;\r
5 \r
6 import org.simantics.db.layer0.StandardNodeManager;\r
7 import org.simantics.layer0.Layer0;\r
8 import org.simantics.simulator.variable.exceptions.NodeManagerException;\r
9 import org.simantics.spreadsheet.resource.SpreadsheetResource;\r
10 import org.simantics.structural.stubs.StructuralResource2;\r
11 \r
12 @SuppressWarnings("rawtypes")\r
13 public class SpreadsheetNodeManager extends StandardNodeManager<SheetNode, SpreadsheetBook> {\r
14         \r
15     public SpreadsheetNodeManager(SpreadsheetRealm realm) {\r
16         super(realm, realm.getEngine());\r
17     }\r
18 \r
19     static final Set<String> COMPONENT_CLASS = Collections.singleton(StructuralResource2.URIs.Component);\r
20             \r
21     @Override\r
22     public Set<String> getClassifications(SheetNode node) throws NodeManagerException {\r
23         checkThreadAccess();\r
24         if(isRoot(node))\r
25             return COMPONENT_CLASS;\r
26         else\r
27             return Collections.emptySet();\r
28     }\r
29     \r
30     @Override\r
31     public String getPropertyURI(SheetNode parent, SheetNode property) {\r
32         if(property instanceof SpreadsheetCellContent) {\r
33             return SpreadsheetResource.URIs.Cell_content;\r
34         } else if(property instanceof SpreadsheetTypeNode) {\r
35             return Layer0.URIs.typeURI;\r
36         } else if(property instanceof SpreadsheetCellContentExpression) {\r
37             return Layer0.URIs.SCLValue_expression;\r
38         } else if (property instanceof SpreadsheetCellStyle) {\r
39             return SpreadsheetResource.URIs.Cell_style;\r
40         } else if (property instanceof SpreadsheetCellEditable){\r
41             return SpreadsheetResource.URIs.Cell_editable;\r
42         } else {\r
43                 return null;\r
44         }\r
45     }\r
46     \r
47 }\r