Package reportgen.formatter

Source Code of reportgen.formatter.SimpleDocBuilder

/*
* 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
     */
TOP

Related Classes of reportgen.formatter.SimpleDocBuilder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.