]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.linking.ui/src/org/simantics/document/linking/report/evaluator/HintNode.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.document.linking.ui / src / org / simantics / document / linking / report / evaluator / HintNode.java
1 package org.simantics.document.linking.report.evaluator;
2
3 import java.util.Collections;
4 import java.util.List;
5 import java.util.Map;
6
7 import org.simantics.db.ReadGraph;
8 import org.simantics.db.exception.DatabaseException;
9 import org.simantics.db.layer0.variable.Variable;
10 import org.simantics.document.linking.report.DocumentLine;
11
12
13 public abstract class HintNode extends EvaluatorNode{
14         
15         
16         public abstract Object getHintValue();
17         public abstract Object getHintClass();
18         
19         @Override
20         public String getValue(ReadGraph graph, Variable variable, Map<Object, Object> context)
21                         throws DatabaseException {
22                 if (children.size() > 0)
23                         return children.get(0).getValue(graph, variable, context);
24                 return null;
25         }
26         
27         @Override
28         public List<DocumentLine> getLines(ReadGraph graph, Variable variable, Map<Object, Object> context) throws DatabaseException {
29                 if (children.size() > 0) {
30                         List<DocumentLine> list = children.get(0).getLines(graph, variable, context);
31                         for (DocumentLine line : list)
32                                 line.getHints().put(getHintClass(), getHintValue());
33                         return list;
34                 }
35                 return Collections.emptyList();
36         }
37
38         
39         @Override
40         public List<Class<? extends EvaluatorItem>> getPossibleChildren(boolean add) {
41                 if (add && children.size() > 0)
42                         return Collections.emptyList();
43                 return super.getPossibleChildren(add);
44         }
45         
46         @Override
47         public boolean acceptChild(EvaluatorItem item) {
48                 return children.size() == 0;
49         }
50         
51         @Override
52         public boolean acceptChild(int index, EvaluatorItem item) {
53                 return children.size() == 0;
54         }
55         
56
57 }