001 /**
002 * www.jcoverage.com
003 * Copyright (C)2003 jcoverage ltd.
004 *
005 * This file is part of jcoverage.
006 *
007 * jcoverage is free software; you can redistribute it and/or modify
008 * it under the terms of the GNU General Public License as published
009 * by the Free Software Foundation; either version 2 of the License,
010 * or (at your option) any later version.
011 *
012 * jcoverage is distributed in the hope that it will be useful, but
013 * WITHOUT ANY WARRANTY; without even the implied warranty of
014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
015 * General Public License for more details.
016 *
017 * You should have received a copy of the GNU General Public License
018 * along with jcoverage; if not, write to the Free Software
019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
020 * USA
021 *
022 */
023 package com.jcoverage.reporting.html;
024
025 import java.io.PrintWriter;
026
027 import org.apache.log4j.Logger;
028
029 import com.jcoverage.reporting.Column;
030 import com.jcoverage.reporting.FormattingContext;
031 import com.jcoverage.reporting.Line;
032
033 /**
034 *
035 */
036 public class DefaultColumnRenderer implements ColumnRenderer {
037
038 static Logger logger=Logger.getLogger(DefaultColumnRenderer.class);
039
040 String label;
041
042 public DefaultColumnRenderer(String label) {
043 this.label=label;
044 }
045
046 public DefaultColumnRenderer() {
047 }
048
049 public void renderField(FormattingContext ctx,PrintWriter writer,Column column,Line line,String href) {
050 if (getClassId()!=null) {
051 writer.println("<td class=\""+getClassId()+"\">");
052 } else {
053 writer.println("<td>");
054 }
055 if (href!=null) {
056 writer.print("<a href="+href+">");
057 }
058 writer.print(getValueAsString(line,column));
059 if (href!=null) {
060 writer.print("</a>");
061 }
062 writer.println("</td>");
063 }
064
065 public String getValueAsString(Line line,Column column) {
066 return line.getField(column).toString();
067 }
068
069 public void renderTitle(FormattingContext ctx,PrintWriter writer,Column column,boolean remainder) {
070 writer.print("<th");
071 if (getWidth()!=null) {
072 writer.print(" width=\""+getWidth()+"\"");
073 }
074 if (remainder) {
075 writer.print(" class=\"remainder\"");
076 }
077 writer.print(">");
078 if (label!=null) {
079 writer.print(label);
080 } else {
081 writer.print(column.getLabel());
082 }
083 writer.print("</th>");
084 }
085
086 public String getWidth() {
087 return null;
088 }
089
090 public String getClassId() {
091 return null;
092 }
093
094 }