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

import java.util.List;

import javax.xml.bind.annotation.XmlRootElement;

import blanco.pdf.form.valueobject.BlancoPdfFormDef;

/**
 * PDF ページ・バリューオブジェクト。
 */
@XmlRootElement
public class BlancoPdfPageDef {
    /**
     * ページの名前 (ID)
     *
     * フィールド: [name]。
     */
    private String fName;

    /**
     * パッケージ。
     *
     * フィールド: [package]。
     * デフォルト: ["noname"]。
     */
    private String fPackage = "noname";

    /**
     * 用紙左隅の横方向マージン。
     *
     * フィールド: [marginX]。
     * デフォルト: [0f]。
     */
    private float fMarginX = 0f;

    /**
     * 用紙左隅の縦方向マージン。
     *
     * フィールド: [marginY]。
     * デフォルト: [0f]。
     */
    private float fMarginY = 0f;

    /**
     * フィールド: [pitchX]。
     * デフォルト: [7.2f]。
     */
    private float fPitchX = 7.2f;

    /**
     * フィールド: [pitchY]。
     * デフォルト: [7.2f * 10 / 6]。
     */
    private float fPitchY = 7.2f * 10 / 6;

    /**
     * ページ方向。false は縦。true は横。
     *
     * フィールド: [rotate]。
     * デフォルト: [false]。
     */
    private boolean fRotate = false;

    /**
     * カラム数。
     *
     * フィールド: [column]。
     * デフォルト: [30]。
     */
    private int fColumn = 30;

    /**
     * 行数。
     *
     * フィールド: [row]。
     * デフォルト: [30]。
     */
    private int fRow = 30;

    /**
     * フォントサイズ。ただし現在ほとんど利用されていません。
     *
     * フィールド: [fontSize]。
     * デフォルト: [12]。
     */
    private float fFontSize = 12;

    /**
     * テンプレート名。ファイル名から (.pdf) を除いたもの。template ディレクトリに入っている必要がある。
     *
     * フィールド: [template]。
     * デフォルト: [null]。
     */
    private String fTemplate = null;

    /**
     * フォーム。
     *
     * フィールド: [form]。
     * デフォルト: [new blanco.pdf.form.valueobject.BlancoPdfFormDef()]。
     */
    private BlancoPdfFormDef fForm = new blanco.pdf.form.valueobject.BlancoPdfFormDef();

    /**
     * 項目リスト。
     *
     * フィールド: [itemList]。
     * デフォルト: [new java.util.ArrayList<blanco.pdf.page.valueobject.BlancoPdfItemDef>()]。
     */
    private List<blanco.pdf.page.valueobject.BlancoPdfItemDef> fItemList = new java.util.ArrayList<blanco.pdf.page.valueobject.BlancoPdfItemDef>();

    /**
     * ブロックのリスト。繰り返し項目で利用。
     *
     * フィールド: [blockList]。
     * デフォルト: [new java.util.ArrayList<blanco.pdf.page.valueobject.BlancoPdfBlockDef>()]。
     */
    private List<blanco.pdf.page.valueobject.BlancoPdfBlockDef> fBlockList = new java.util.ArrayList<blanco.pdf.page.valueobject.BlancoPdfBlockDef>();

    /**
     * フィールド [name] の値を設定します。
     *
     * フィールドの説明: [ページの名前 (ID)]。
     *
     * @param argName フィールド[name]に設定する値。
     */
    public void setName(final String argName) {
        fName = argName;
    }

    /**
     * フィールド [name] の値を取得します。
     *
     * フィールドの説明: [ページの名前 (ID)]。
     *
     * @return フィールド[name]から取得した値。
     */
    public String getName() {
        return fName;
    }

    /**
     * フィールド [package] の値を設定します。
     *
     * フィールドの説明: [パッケージ。]。
     *
     * @param argPackage フィールド[package]に設定する値。
     */
    public void setPackage(final String argPackage) {
        fPackage = argPackage;
    }

    /**
     * フィールド [package] の値を取得します。
     *
     * フィールドの説明: [パッケージ。]。
     * デフォルト: ["noname"]。
     *
     * @return フィールド[package]から取得した値。
     */
    public String getPackage() {
        return fPackage;
    }

    /**
     * フィールド [marginX] の値を設定します。
     *
     * フィールドの説明: [用紙左隅の横方向マージン。]。
     *
     * @param argMarginX フィールド[marginX]に設定する値。
     */
    public void setMarginX(final float argMarginX) {
        fMarginX = argMarginX;
    }

    /**
     * フィールド [marginX] の値を取得します。
     *
     * フィールドの説明: [用紙左隅の横方向マージン。]。
     * デフォルト: [0f]。
     *
     * @return フィールド[marginX]から取得した値。
     */
    public float getMarginX() {
        return fMarginX;
    }

    /**
     * フィールド [marginY] の値を設定します。
     *
     * フィールドの説明: [用紙左隅の縦方向マージン。]。
     *
     * @param argMarginY フィールド[marginY]に設定する値。
     */
    public void setMarginY(final float argMarginY) {
        fMarginY = argMarginY;
    }

    /**
     * フィールド [marginY] の値を取得します。
     *
     * フィールドの説明: [用紙左隅の縦方向マージン。]。
     * デフォルト: [0f]。
     *
     * @return フィールド[marginY]から取得した値。
     */
    public float getMarginY() {
        return fMarginY;
    }

    /**
     * フィールド [pitchX] の値を設定します。
     *
     * @param argPitchX フィールド[pitchX]に設定する値。
     */
    public void setPitchX(final float argPitchX) {
        fPitchX = argPitchX;
    }

    /**
     * フィールド [pitchX] の値を取得します。
     *
     * デフォルト: [7.2f]。
     *
     * @return フィールド[pitchX]から取得した値。
     */
    public float getPitchX() {
        return fPitchX;
    }

    /**
     * フィールド [pitchY] の値を設定します。
     *
     * @param argPitchY フィールド[pitchY]に設定する値。
     */
    public void setPitchY(final float argPitchY) {
        fPitchY = argPitchY;
    }

    /**
     * フィールド [pitchY] の値を取得します。
     *
     * デフォルト: [7.2f * 10 / 6]。
     *
     * @return フィールド[pitchY]から取得した値。
     */
    public float getPitchY() {
        return fPitchY;
    }

    /**
     * フィールド [rotate] の値を設定します。
     *
     * フィールドの説明: [ページ方向。false は縦。true は横。]。
     *
     * @param argRotate フィールド[rotate]に設定する値。
     */
    public void setRotate(final boolean argRotate) {
        fRotate = argRotate;
    }

    /**
     * フィールド [rotate] の値を取得します。
     *
     * フィールドの説明: [ページ方向。false は縦。true は横。]。
     * デフォルト: [false]。
     *
     * @return フィールド[rotate]から取得した値。
     */
    public boolean getRotate() {
        return fRotate;
    }

    /**
     * フィールド [column] の値を設定します。
     *
     * フィールドの説明: [カラム数。]。
     *
     * @param argColumn フィールド[column]に設定する値。
     */
    public void setColumn(final int argColumn) {
        fColumn = argColumn;
    }

    /**
     * フィールド [column] の値を取得します。
     *
     * フィールドの説明: [カラム数。]。
     * デフォルト: [30]。
     *
     * @return フィールド[column]から取得した値。
     */
    public int getColumn() {
        return fColumn;
    }

    /**
     * フィールド [row] の値を設定します。
     *
     * フィールドの説明: [行数。]。
     *
     * @param argRow フィールド[row]に設定する値。
     */
    public void setRow(final int argRow) {
        fRow = argRow;
    }

    /**
     * フィールド [row] の値を取得します。
     *
     * フィールドの説明: [行数。]。
     * デフォルト: [30]。
     *
     * @return フィールド[row]から取得した値。
     */
    public int getRow() {
        return fRow;
    }

    /**
     * フィールド [fontSize] の値を設定します。
     *
     * フィールドの説明: [フォントサイズ。ただし現在ほとんど利用されていません。]。
     *
     * @param argFontSize フィールド[fontSize]に設定する値。
     */
    public void setFontSize(final float argFontSize) {
        fFontSize = argFontSize;
    }

    /**
     * フィールド [fontSize] の値を取得します。
     *
     * フィールドの説明: [フォントサイズ。ただし現在ほとんど利用されていません。]。
     * デフォルト: [12]。
     *
     * @return フィールド[fontSize]から取得した値。
     */
    public float getFontSize() {
        return fFontSize;
    }

    /**
     * フィールド [template] の値を設定します。
     *
     * フィールドの説明: [テンプレート名。ファイル名から (.pdf) を除いたもの。template ディレクトリに入っている必要がある。]。
     *
     * @param argTemplate フィールド[template]に設定する値。
     */
    public void setTemplate(final String argTemplate) {
        fTemplate = argTemplate;
    }

    /**
     * フィールド [template] の値を取得します。
     *
     * フィールドの説明: [テンプレート名。ファイル名から (.pdf) を除いたもの。template ディレクトリに入っている必要がある。]。
     * デフォルト: [null]。
     *
     * @return フィールド[template]から取得した値。
     */
    public String getTemplate() {
        return fTemplate;
    }

    /**
     * フィールド [form] の値を設定します。
     *
     * フィールドの説明: [フォーム。]。
     *
     * @param argForm フィールド[form]に設定する値。
     */
    public void setForm(final BlancoPdfFormDef argForm) {
        fForm = argForm;
    }

    /**
     * フィールド [form] の値を取得します。
     *
     * フィールドの説明: [フォーム。]。
     * デフォルト: [new blanco.pdf.form.valueobject.BlancoPdfFormDef()]。
     *
     * @return フィールド[form]から取得した値。
     */
    public BlancoPdfFormDef getForm() {
        return fForm;
    }

    /**
     * フィールド [itemList] の値を設定します。
     *
     * フィールドの説明: [項目リスト。]。
     *
     * @param argItemList フィールド[itemList]に設定する値。
     */
    public void setItemList(final List<blanco.pdf.page.valueobject.BlancoPdfItemDef> argItemList) {
        fItemList = argItemList;
    }

    /**
     * フィールド [itemList] の値を取得します。
     *
     * フィールドの説明: [項目リスト。]。
     * デフォルト: [new java.util.ArrayList<blanco.pdf.page.valueobject.BlancoPdfItemDef>()]。
     *
     * @return フィールド[itemList]から取得した値。
     */
    public List<blanco.pdf.page.valueobject.BlancoPdfItemDef> getItemList() {
        return fItemList;
    }

    /**
     * フィールド [blockList] の値を設定します。
     *
     * フィールドの説明: [ブロックのリスト。繰り返し項目で利用。]。
     *
     * @param argBlockList フィールド[blockList]に設定する値。
     */
    public void setBlockList(final List<blanco.pdf.page.valueobject.BlancoPdfBlockDef> argBlockList) {
        fBlockList = argBlockList;
    }

    /**
     * フィールド [blockList] の値を取得します。
     *
     * フィールドの説明: [ブロックのリスト。繰り返し項目で利用。]。
     * デフォルト: [new java.util.ArrayList<blanco.pdf.page.valueobject.BlancoPdfBlockDef>()]。
     *
     * @return フィールド[blockList]から取得した値。
     */
    public List<blanco.pdf.page.valueobject.BlancoPdfBlockDef> getBlockList() {
        return fBlockList;
    }

    /**
     * このバリューオブジェクトの文字列表現を取得します。
     *
     * <P>使用上の注意</P>
     * <UL>
     * <LI>オブジェクトのシャロー範囲のみ文字列化の処理対象となります。
     * <LI>オブジェクトが循環参照している場合には、このメソッドは使わないでください。
     * </UL>
     *
     * @return バリューオブジェクトの文字列表現。
     */
    @Override
    public String toString() {
        final StringBuffer buf = new StringBuffer();
        buf.append("blanco.pdf.page.valueobject.BlancoPdfPageDef[");
        buf.append("name=" + fName);
        buf.append(",package=" + fPackage);
        buf.append(",marginX=" + fMarginX);
        buf.append(",marginY=" + fMarginY);
        buf.append(",pitchX=" + fPitchX);
        buf.append(",pitchY=" + fPitchY);
        buf.append(",rotate=" + fRotate);
        buf.append(",column=" + fColumn);
        buf.append(",row=" + fRow);
        buf.append(",fontSize=" + fFontSize);
        buf.append(",template=" + fTemplate);
        buf.append(",form=" + fForm);
        buf.append(",itemList=" + fItemList);
        buf.append(",blockList=" + fBlockList);
        buf.append("]");
        return buf.toString();
    }
}
