-package org.simantics.document.linking.report.templates;\r
-\r
-import java.util.ArrayList;\r
-import java.util.List;\r
-\r
-import org.simantics.document.linking.report.Document;\r
-import org.simantics.document.linking.report.Document.TextSize;\r
-import org.simantics.document.linking.report.RowContentProvider;\r
-import org.simantics.document.linking.report.Table;\r
-import org.simantics.document.linking.report.TextItem;\r
-\r
-\r
-public abstract class TableReportWriter<T> implements ReportWriter<T> {\r
-\r
- private List<RowContentProvider<T>> lineContentProviders = new ArrayList<RowContentProvider<T>>(); \r
- private List<RowContentProvider<T>> cellContentProviders = new ArrayList<RowContentProvider<T>>(); \r
-\r
- public void addLineProvider(RowContentProvider<T> provider) {\r
- lineContentProviders.add(provider);\r
- }\r
-\r
- public void addCellProvider(RowContentProvider<T> provider) {\r
- cellContentProviders.add(provider);\r
- }\r
- \r
- public void clearProviders() {\r
- lineContentProviders.clear();\r
- cellContentProviders.clear();\r
- }\r
- \r
- TextItem line[] = new TextItem[1];\r
- public void write(T previous, T current, T next, Document writer) throws Exception {\r
- \r
- \r
- for (RowContentProvider<T> cp : lineContentProviders) {\r
- line[0] = writer.newItem(TextItem.class);\r
- cp.setText(writer, previous, current, next,line);\r
- if (line[0].getText() != null && line[0].getText().length() > 0) {\r
- Table table = writer.getCurrentElement(Table.class);\r
- TextSize size = table.getTextSize();\r
- table.setTextSize(TextSize.MEDIUM);\r
- table.writeRowItem(line[0]);\r
- table.setTextSize(size);\r
- }\r
- }\r
- \r
- \r
- TextItem text[] = new TextItem[writer.getCurrentElement(Table.class).getColumns().size()];\r
- for (RowContentProvider<T> cp : cellContentProviders) {\r
- cp.setText(writer, previous, current, next,text);\r
- }\r
- \r
- for (int i = 0; i < text.length; i++) {\r
- if (text[i] != null) {\r
- writer.getCurrentElement(Table.class).writeRowItem(text);\r
- break;\r
- }\r
- }\r
- \r
- };\r
- \r
- \r
- \r
- \r
- \r
-}\r
+package org.simantics.document.linking.report.templates;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.simantics.document.linking.report.Document;
+import org.simantics.document.linking.report.Document.TextSize;
+import org.simantics.document.linking.report.RowContentProvider;
+import org.simantics.document.linking.report.Table;
+import org.simantics.document.linking.report.TextItem;
+
+
+public abstract class TableReportWriter<T> implements ReportWriter<T> {
+
+ private List<RowContentProvider<T>> lineContentProviders = new ArrayList<RowContentProvider<T>>();
+ private List<RowContentProvider<T>> cellContentProviders = new ArrayList<RowContentProvider<T>>();
+
+ public void addLineProvider(RowContentProvider<T> provider) {
+ lineContentProviders.add(provider);
+ }
+
+ public void addCellProvider(RowContentProvider<T> provider) {
+ cellContentProviders.add(provider);
+ }
+
+ public void clearProviders() {
+ lineContentProviders.clear();
+ cellContentProviders.clear();
+ }
+
+ TextItem line[] = new TextItem[1];
+ public void write(T previous, T current, T next, Document writer) throws Exception {
+
+
+ for (RowContentProvider<T> cp : lineContentProviders) {
+ line[0] = writer.newItem(TextItem.class);
+ cp.setText(writer, previous, current, next,line);
+ if (line[0].getText() != null && line[0].getText().length() > 0) {
+ Table table = writer.getCurrentElement(Table.class);
+ TextSize size = table.getTextSize();
+ table.setTextSize(TextSize.MEDIUM);
+ table.writeRowItem(line[0]);
+ table.setTextSize(size);
+ }
+ }
+
+
+ TextItem text[] = new TextItem[writer.getCurrentElement(Table.class).getColumns().size()];
+ for (RowContentProvider<T> cp : cellContentProviders) {
+ cp.setText(writer, previous, current, next,text);
+ }
+
+ for (int i = 0; i < text.length; i++) {
+ if (text[i] != null) {
+ writer.getCurrentElement(Table.class).writeRowItem(text);
+ break;
+ }
+ }
+
+ };
+
+
+
+
+
+}