1 package org.cacert.gigi.output;
3 import java.io.PrintWriter;
4 import java.util.LinkedList;
7 import org.cacert.gigi.Language;
9 public class DataTable implements Outputable {
10 private LinkedList<Cell> cells;
11 private int columnCount;
13 public DataTable(int coloumnCount, LinkedList<Cell> content) {
14 this.columnCount = coloumnCount;
19 public void output(PrintWriter out, Language l, Map<String, Object> vars) {
20 int mesCells = cells.size();
21 for (Cell c : cells) {
22 if (c.getColSpan() > 1) {
23 mesCells += c.getColSpan();
26 out.println("<table align=\"center\" valign=\"middle\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"wrapper\">");
27 for (int i = 0; i < mesCells / columnCount; i++) {
29 for (int j = 0; j < columnCount;) {
30 Cell current = cells.get((i * columnCount) + j);
31 j += current.getColSpan();
32 out.println("<td " + current.getHtmlAttribs() + " >");
33 out.print(current.shouldTranslate() ? l.getTranslation(current
34 .getText()) : current.getText());
39 out.println("</table>");
42 public static class Cell {
43 private String text, htmlAttribs;
44 private boolean translate;
48 this(" ", false);
51 public Cell(String text, boolean translate, int colSpan,
54 this.translate = translate;
55 this.htmlAttribs = htmlAttribs;
56 this.colSpan = colSpan;
59 public Cell(String text, boolean translate) {
60 this(text, translate, 1, "class=\"DataTD\"");
63 public Cell(String text, boolean translate, int colSpan) {
64 this(text, translate, colSpan, "class=\"DataTD\"");
67 public boolean shouldTranslate() {
71 public String getText() {
75 public int getColSpan() {
79 public String getHtmlAttribs() {