/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package reportgen.formatter;
import java.io.PrintStream;
import reportgen.formatter.simple.MetaData;
import reportgen.utils.ReportException;
import reportgen.formatter.simple.ResultGroup;
import reportgen.prototype.queryresults.QueryResults;
import reportgen.ren.report.ReportQuery;
/**
*
* @author axe
*/
public class SimpleDocBuilder extends DocBuilder{
private MetaData data;
public SimpleDocBuilder(QueryResults results, ReportQuery query, String title) {
super(results, query, title);
}
@Override
public void isAvailiable() throws ReportException {
getMetaData();
}
public MetaData getMetaData() throws ReportException {
if(data == null) {
data = new MetaData(query);
}
return data;
}
/**
* Создает документ на основе указанных режимов отображения
* и данных указанных в контрукторе
* @param modes
* @return
* @throws reportgen.exception.ReportException
*/
@Override
public void toHTML(PrintStream stream) throws ReportException {
ResultGroup group = new ResultGroup(getMetaData());
for(int i=0; i<results.getRowCount(); i++) {
group.merge(results.getRow(i));
}
stream.append(getHeader(title));
group.format(stream, 2, "", data.isMakeSumRows());
stream.append(getTail());
}
/**
* выбирает колонки с заданным режимом
* @param parent
* @param mode
* @return
* @throws reportgen.ren.exception.ReportException
*/
}