1 package org.simantics.document.linking.report.evaluator;
\r
3 import java.util.Collections;
\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
18 * Or node returns the first non null value of children.
\r
20 * @author Marko Luukkainen <marko.luukkainen@vtt.fi>
\r
24 @OrderedSetType(DocumentLink.URIs.EvaluatorTree_Or)
\r
25 public class Or extends EvaluatorNode{
\r
30 public String getValue(ReadGraph graph, Variable variable, Map<Object, Object> context) throws DatabaseException {
\r
32 for (int i = 0 ; i < children.size(); i++) {
\r
33 String s = children.get(i).getValue(graph, variable, context);
\r
34 if (s != null && s.length() > 0)
\r
42 public List<DocumentLine> getLines(ReadGraph graph, Variable variable, Map<Object, Object> context) throws DatabaseException {
\r
43 for (int i = 0 ; i < children.size(); i++) {
\r
44 List<DocumentLine> list = children.get(i).getLines(graph, variable, context);
\r
45 if (list.size() > 0)
\r
48 return Collections.emptyList();
\r
52 public String toString() {
\r
57 public EvaluatorItem copy() {
\r
64 public ImageDescriptor getImage() {
\r
65 return Activator.imageDescriptorFromPlugin("com.famfamfam.silk", "icons/text_list_numbers.png");
\r