]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/evaluator/EvaluatorRoot.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / report / evaluator / EvaluatorRoot.java
1 package org.simantics.document.linking.report.evaluator;\r
2 \r
3 import java.util.Collections;\r
4 import java.util.List;\r
5 import java.util.Map;\r
6 \r
7 import org.eclipse.jface.resource.ImageDescriptor;\r
8 import org.simantics.db.ReadGraph;\r
9 import org.simantics.db.exception.DatabaseException;\r
10 import org.simantics.db.layer0.variable.Variable;\r
11 import org.simantics.document.linking.ontology.DocumentLink;\r
12 import org.simantics.document.linking.report.DocumentLine;\r
13 import org.simantics.objmap.graph.annotations.OrderedSetType;\r
14 \r
15 \r
16 @OrderedSetType(DocumentLink.URIs.EvaluatorTree_Root)\r
17 public class EvaluatorRoot extends EvaluatorNode{\r
18         \r
19         boolean supportMultiline = true;\r
20         boolean supportStyles = false;\r
21         \r
22         public boolean isSupportMultiline() {\r
23                 return supportMultiline;\r
24         }\r
25         \r
26         public void setSupportMultiline(boolean multilineSupport) {\r
27                 this.supportMultiline = multilineSupport;\r
28         }\r
29         \r
30         public void setSupportStyles(boolean allowStyles) {\r
31                 this.supportStyles = allowStyles;\r
32         }\r
33         \r
34         public boolean isSupportStyles() {\r
35                 return supportStyles;\r
36         }\r
37         \r
38         @Override\r
39         public String getValue(ReadGraph graph, Variable variable, Map<Object, Object> context) throws DatabaseException {\r
40                 if (children.size() > 0 )\r
41                         return children.get(0).getValue(graph, variable, context);\r
42                 return null;\r
43         }\r
44         \r
45         @Override\r
46         public List<DocumentLine> getLines(ReadGraph graph,     Variable variable, Map<Object, Object> context) throws DatabaseException {\r
47                 if (children.size() > 0 )\r
48                         return children.get(0).getLines(graph, variable, context);\r
49                 return null;\r
50         }\r
51         \r
52         @Override\r
53         public List<Class<? extends EvaluatorItem>> getPossibleChildren(boolean add) {\r
54                 if (add && children.size() > 0)\r
55                         return Collections.emptyList();\r
56                 List<Class<? extends EvaluatorItem>> classes = super.getPossibleChildren(add);\r
57                 if (supportMultiline) {\r
58                         if (!(children.size() == 1 && children.get(0) instanceof Lines))\r
59                                 classes.add(Lines.class);\r
60                 }\r
61                 return classes;\r
62         }\r
63         \r
64         @Override\r
65         public String toString() {\r
66                 return "root";\r
67         }\r
68         \r
69         @Override\r
70         public EvaluatorRoot getRoot() {\r
71                 return this;\r
72         }\r
73         \r
74         @Override\r
75         public EvaluatorItem copy() {\r
76                 EvaluatorRoot root = new EvaluatorRoot();\r
77                 root.supportMultiline = supportMultiline;\r
78                 root.supportStyles = supportStyles;\r
79                 copyChildren(root);\r
80                 return root;\r
81         }\r
82         \r
83         @Override\r
84         public ImageDescriptor getImage() {\r
85                 return null;\r
86         }\r
87 \r
88 }\r