1 package net.sf.statcvs.reportmodel; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import net.sf.statcvs.renderer.TableCellRenderer; 7 8 public class LinkColumn extends Column { 9 private final String title; 10 private final List urls = new ArrayList(); 11 private final List labels = new ArrayList(); 12 private String total = null; 13 14 public LinkColumn(final String title) { 15 this.title = title; 16 } 17 18 public void setTotal(final String value) { 19 this.total = value; 20 } 21 22 public void addValue(final String url, final String label) { 23 if (url == null) { 24 this.urls.add(""); 25 } else { 26 this.urls.add(url); 27 } 28 this.labels.add(label); 29 } 30 31 public int getRows() { 32 return urls.size(); 33 } 34 35 public void renderHead(final TableCellRenderer renderer) { 36 renderer.renderCell(title); 37 } 38 39 public void renderCell(final int rowIndex, final TableCellRenderer renderer) { 40 final String url = (String) this.urls.get(rowIndex); 41 renderer.renderLinkCell(("".equals(url) ? null : url), (String) this.labels.get(rowIndex)); 42 } 43 44 public void renderTotal(final TableCellRenderer renderer) { 45 if (total == null) { 46 renderer.renderEmptyCell(); 47 } else { 48 renderer.renderCell(total); 49 } 50 } 51 }