1 package org.simantics.document.linking.report.evaluator;
\r
3 import java.util.ArrayList;
\r
4 import java.util.List;
\r
5 import java.util.Map;
\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.Activator;
\r
12 import org.simantics.document.linking.ontology.DocumentLink;
\r
13 import org.simantics.document.linking.report.DocumentLine;
\r
14 import org.simantics.objmap.graph.annotations.OrderedSetType;
\r
17 * Combines child node contents to separate lines.
\r
19 * If all children return null, the return value is null.
\r
21 * @author Marko Luukkainen <marko.luukkainen@vtt.fi>
\r
24 @OrderedSetType(DocumentLink.URIs.EvaluatorTree_Lines)
\r
25 public class Lines extends EvaluatorNode {
\r
29 public String getValue(ReadGraph graph, Variable variable, Map<Object, Object> context) throws DatabaseException {
\r
31 for (int i = 0 ; i < children.size(); i++) {
\r
32 String s2 = children.get(i).getValue(graph, variable, context);
\r
35 if (i < children.size()-1)
\r
36 s+=System.getProperty("line.separator");
\r
39 if (s.length() == 0)
\r
46 public String toString() {
\r
53 public List<DocumentLine> getLines(ReadGraph graph, Variable variable, Map<Object, Object> context) throws DatabaseException {
\r
54 List<DocumentLine> result = new ArrayList<DocumentLine>();
\r
55 for (int i = 0 ; i < children.size(); i++) {
\r
56 result.addAll(children.get(i).getLines(graph, variable, context));
\r
62 public EvaluatorItem copy() {
\r
63 Lines lines = new Lines();
\r
64 copyChildren(lines);
\r
69 public ImageDescriptor getImage() {
\r
70 return Activator.imageDescriptorFromPlugin("com.famfamfam.silk", "icons/text_linespacing.png");
\r