--- /dev/null
+package org.simantics.document.linking.report.templates.custom;\r
+\r
+import java.util.Collections;\r
+import java.util.List;\r
+import java.util.Map;\r
+\r
+import org.simantics.db.ReadGraph;\r
+import org.simantics.db.Resource;\r
+import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.layer0.variable.Variable;\r
+import org.simantics.document.linking.report.DocumentLine;\r
+import org.simantics.document.linking.report.evaluator.EvaluatorItem;\r
+import org.simantics.document.linking.utils.SourceLinkUtil;\r
+\r
+\r
+public class EvaluatorCustomizableContent implements CustomizableContent{\r
+\r
+ String description; \r
+ EvaluatorItem item;\r
+ \r
+ boolean supportStyles = false;\r
+ boolean supportMultiline = true;\r
+ \r
+ public EvaluatorCustomizableContent(String description) {\r
+ this.description = description;\r
+ }\r
+ \r
+ @Override\r
+ public String getCustomizationDescription() {\r
+ return description;\r
+ }\r
+ \r
+ @Override\r
+ public String getContent(ReadGraph graph, Resource resource, Map<Object, Object> context)\r
+ throws DatabaseException {\r
+ if (!SourceLinkUtil.isValidReference(graph, resource))\r
+ return "Deleted reference";\r
+ Variable variable = graph.adapt(resource, Variable.class);\r
+ return item.getValue(graph, variable,context);\r
+ }\r
+ \r
+ @Override\r
+ public List<DocumentLine> getLines(ReadGraph graph, Resource resource, Map<Object, Object> context)\r
+ throws DatabaseException {\r
+ if (!SourceLinkUtil.isValidReference(graph, resource))\r
+ return Collections.singletonList(new DocumentLine("Deleted reference"));\r
+ Variable variable = graph.adapt(resource, Variable.class);\r
+ return item.getLines(graph, variable,context);\r
+ }\r
+ \r
+ public void setItem(EvaluatorItem item) {\r
+ this.item = item;\r
+ }\r
+ \r
+ public EvaluatorItem getItem() {\r
+ return item;\r
+ }\r
+ \r
+ public boolean isSupportStyles() {\r
+ return supportStyles;\r
+ }\r
+ \r
+ public void setSupportStyles(boolean supportStyles) {\r
+ this.supportStyles = supportStyles;\r
+ }\r
+ \r
+ public boolean isSupportMultiline() {\r
+ return supportMultiline;\r
+ }\r
+ public void setSupportMultiline(boolean supportMultiline) {\r
+ this.supportMultiline = supportMultiline;\r
+ }\r
+}\r