/*
 * このソースコードは blanco Frameworkにより自動生成されました。
 */
package blanco.sample.pdf.report;

import java.io.OutputStream;

import blanco.pdf.page.BlancoPdfPageUtil;
import blanco.pdf.page.BlancoPdfPageWriter;
import blanco.pdf.page.valueobject.BlancoPdfPageDef;
import blanco.pdf.valueobject.BlancoPdfMetrix;
import blanco.pdf.valueobject.BlancoPdfSetting;
import blanco.sample.pdf.report.items.Tate01PdfReportItems;

import com.lowagie.text.pdf.PdfWriter;

/**
 * PDF レポート。
 */
public class Tate01PdfReport {
    /**
     * ページ定義オブジェクト。
     */
    private BlancoPdfPageDef fPageDef;

    /**
     * ページ・ライター・オブジェクト。
     */
    private BlancoPdfPageWriter fPageWriter;

    /**
     * 1 ページ分のデータをセットします。
     *
     * @param pdfSetting PDF 項目群。
     * @param outStream 出力ストリーム。
     */
    public Tate01PdfReport(final BlancoPdfSetting pdfSetting, final OutputStream outStream) {
        fPageDef = BlancoPdfPageUtil.read(pdfSetting, "tate01");
        fPageWriter = new BlancoPdfPageWriter(pdfSetting.getConfPath(), fPageDef, outStream);
    }

    /**
     * 1 ページ分のデータをセットします。
     *
     * @param pdfItems PDF 項目群。
     */
    public void writeItems(final Tate01PdfReportItems pdfItems) {
        final BlancoPdfMetrix metrix = new BlancoPdfMetrix();
    }

    /**
     * 改ページします。
     */
    public void nextPage() {
        fPageWriter.nextPage();
    }

    /**
     * グリッド・シートを描画します。
     */
    public void drawGridSheet() {
        fPageWriter.drawGridSheet();
    }

    /**
     * クローズします。
     */
    public void close() {
        fPageWriter.close();
    }

    /**
     * PDF ライターを取得します。
     *
     * @return 内部的に利用しているライターー。
     */
    @Deprecated
    public PdfWriter getPdfWriter() {
        return fPageWriter.getWriter();
    }
}
