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

import javax.xml.bind.annotation.XmlRootElement;

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

    /**
     * PDF unit。72 PDF unit = 1 インチ。
     *
     * フィールド: [x]。
     * デフォルト: [-1]。
     */
    private float fX = -1;

    /**
     * フィールド: [y]。
     * デフォルト: [-1]。
     */
    private float fY = -1;

    /**
     * 型。文字列&quot;string&quot;。数値&quot;decimal&quot;
     *
     * フィールド: [type]。
     * デフォルト: ["string"]。
     */
    private String fType = "string";

    /**
     * 桁数。
     *
     * フィールド: [length]。
     * デフォルト: [10]。
     */
    private int fLength = 10;

    /**
     * decimal の場合には、&quot;###,###,###.###&quot; など。
     *
     * フィールド: [format]。
     * デフォルト: [null]。
     */
    private String fFormat = null;

    /**
     * decimal の場合に有効。小数点部分の桁数。
     *
     * フィールド: [formatMinimumFractionDigits]。
     * デフォルト: [-1]。
     */
    private int fFormatMinimumFractionDigits = -1;

    /**
     * left, right (center は未対応)
     *
     * フィールド: [align]。
     * デフォルト: ["left"]。
     */
    private String fAlign = "left";

    /**
     * フォント名。
     *
     * フィールド: [font]。
     * デフォルト: ["gothic"]。
     */
    private String fFont = "gothic";

    /**
     * フォントサイズ。
     *
     * フィールド: [fontSize]。
     * デフォルト: [12]。
     */
    private int fFontSize = 12;

    /**
     * 2バイト文字かどうか?
     *
     * フィールド: [doubleByte]。
     * デフォルト: [false]。
     */
    private boolean fDoubleByte = false;

    /**
     * ページ番号かどうか? ページ番号の場合は decimal で指定の必要あり。
     *
     * フィールド: [pageNo]。
     * デフォルト: [false]。
     */
    private boolean fPageNo = false;

    /**
     * 総ページ数かどうか? ページ番号の場合は decimal で指定の必要あり。
     *
     * フィールド: [totalPageCount]。
     * デフォルト: [false]。
     */
    private boolean fTotalPageCount = false;

    /**
     * 隠しフィールドかどうか?
     *
     * フィールド: [hidden]。
     * デフォルト: [false]。
     */
    private boolean fHidden = false;

    /**
     * 途中のページで隠しフィールドになるかどうか?
     *
     * フィールド: [hiddenOnMiddlePage]。
     * デフォルト: [false]。
     */
    private boolean fHiddenOnMiddlePage = false;

    /**
     * 最後のページで隠しフィールドになるかどうか?
     *
     * フィールド: [hiddenOnEndPage]。
     * デフォルト: [false]。
     */
    private boolean fHiddenOnEndPage = false;

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

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

    /**
     * フィールド [x] の値を設定します。
     *
     * フィールドの説明: [PDF unit。72 PDF unit = 1 インチ。]。
     *
     * @param argX フィールド[x]に設定する値。
     */
    public void setX(final float argX) {
        fX = argX;
    }

    /**
     * フィールド [x] の値を取得します。
     *
     * フィールドの説明: [PDF unit。72 PDF unit = 1 インチ。]。
     * デフォルト: [-1]。
     *
     * @return フィールド[x]から取得した値。
     */
    public float getX() {
        return fX;
    }

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

    /**
     * フィールド [y] の値を取得します。
     *
     * デフォルト: [-1]。
     *
     * @return フィールド[y]から取得した値。
     */
    public float getY() {
        return fY;
    }

    /**
     * フィールド [type] の値を設定します。
     *
     * フィールドの説明: [型。文字列"string"。数値"decimal"]。
     *
     * @param argType フィールド[type]に設定する値。
     */
    public void setType(final String argType) {
        fType = argType;
    }

    /**
     * フィールド [type] の値を取得します。
     *
     * フィールドの説明: [型。文字列"string"。数値"decimal"]。
     * デフォルト: ["string"]。
     *
     * @return フィールド[type]から取得した値。
     */
    public String getType() {
        return fType;
    }

    /**
     * フィールド [length] の値を設定します。
     *
     * フィールドの説明: [桁数。]。
     *
     * @param argLength フィールド[length]に設定する値。
     */
    public void setLength(final int argLength) {
        fLength = argLength;
    }

    /**
     * フィールド [length] の値を取得します。
     *
     * フィールドの説明: [桁数。]。
     * デフォルト: [10]。
     *
     * @return フィールド[length]から取得した値。
     */
    public int getLength() {
        return fLength;
    }

    /**
     * フィールド [format] の値を設定します。
     *
     * フィールドの説明: [decimal の場合には、"###,###,###.###" など。]。
     *
     * @param argFormat フィールド[format]に設定する値。
     */
    public void setFormat(final String argFormat) {
        fFormat = argFormat;
    }

    /**
     * フィールド [format] の値を取得します。
     *
     * フィールドの説明: [decimal の場合には、"###,###,###.###" など。]。
     * デフォルト: [null]。
     *
     * @return フィールド[format]から取得した値。
     */
    public String getFormat() {
        return fFormat;
    }

    /**
     * フィールド [formatMinimumFractionDigits] の値を設定します。
     *
     * フィールドの説明: [decimal の場合に有効。小数点部分の桁数。]。
     *
     * @param argFormatMinimumFractionDigits フィールド[formatMinimumFractionDigits]に設定する値。
     */
    public void setFormatMinimumFractionDigits(final int argFormatMinimumFractionDigits) {
        fFormatMinimumFractionDigits = argFormatMinimumFractionDigits;
    }

    /**
     * フィールド [formatMinimumFractionDigits] の値を取得します。
     *
     * フィールドの説明: [decimal の場合に有効。小数点部分の桁数。]。
     * デフォルト: [-1]。
     *
     * @return フィールド[formatMinimumFractionDigits]から取得した値。
     */
    public int getFormatMinimumFractionDigits() {
        return fFormatMinimumFractionDigits;
    }

    /**
     * フィールド [align] の値を設定します。
     *
     * フィールドの説明: [left, right (center は未対応)]。
     *
     * @param argAlign フィールド[align]に設定する値。
     */
    public void setAlign(final String argAlign) {
        fAlign = argAlign;
    }

    /**
     * フィールド [align] の値を取得します。
     *
     * フィールドの説明: [left, right (center は未対応)]。
     * デフォルト: ["left"]。
     *
     * @return フィールド[align]から取得した値。
     */
    public String getAlign() {
        return fAlign;
    }

    /**
     * フィールド [font] の値を設定します。
     *
     * フィールドの説明: [フォント名。]。
     *
     * @param argFont フィールド[font]に設定する値。
     */
    public void setFont(final String argFont) {
        fFont = argFont;
    }

    /**
     * フィールド [font] の値を取得します。
     *
     * フィールドの説明: [フォント名。]。
     * デフォルト: ["gothic"]。
     *
     * @return フィールド[font]から取得した値。
     */
    public String getFont() {
        return fFont;
    }

    /**
     * フィールド [fontSize] の値を設定します。
     *
     * フィールドの説明: [フォントサイズ。]。
     *
     * @param argFontSize フィールド[fontSize]に設定する値。
     */
    public void setFontSize(final int argFontSize) {
        fFontSize = argFontSize;
    }

    /**
     * フィールド [fontSize] の値を取得します。
     *
     * フィールドの説明: [フォントサイズ。]。
     * デフォルト: [12]。
     *
     * @return フィールド[fontSize]から取得した値。
     */
    public int getFontSize() {
        return fFontSize;
    }

    /**
     * フィールド [doubleByte] の値を設定します。
     *
     * フィールドの説明: [2バイト文字かどうか?]。
     *
     * @param argDoubleByte フィールド[doubleByte]に設定する値。
     */
    public void setDoubleByte(final boolean argDoubleByte) {
        fDoubleByte = argDoubleByte;
    }

    /**
     * フィールド [doubleByte] の値を取得します。
     *
     * フィールドの説明: [2バイト文字かどうか?]。
     * デフォルト: [false]。
     *
     * @return フィールド[doubleByte]から取得した値。
     */
    public boolean getDoubleByte() {
        return fDoubleByte;
    }

    /**
     * フィールド [pageNo] の値を設定します。
     *
     * フィールドの説明: [ページ番号かどうか? ページ番号の場合は decimal で指定の必要あり。]。
     *
     * @param argPageNo フィールド[pageNo]に設定する値。
     */
    public void setPageNo(final boolean argPageNo) {
        fPageNo = argPageNo;
    }

    /**
     * フィールド [pageNo] の値を取得します。
     *
     * フィールドの説明: [ページ番号かどうか? ページ番号の場合は decimal で指定の必要あり。]。
     * デフォルト: [false]。
     *
     * @return フィールド[pageNo]から取得した値。
     */
    public boolean getPageNo() {
        return fPageNo;
    }

    /**
     * フィールド [totalPageCount] の値を設定します。
     *
     * フィールドの説明: [総ページ数かどうか? ページ番号の場合は decimal で指定の必要あり。]。
     *
     * @param argTotalPageCount フィールド[totalPageCount]に設定する値。
     */
    public void setTotalPageCount(final boolean argTotalPageCount) {
        fTotalPageCount = argTotalPageCount;
    }

    /**
     * フィールド [totalPageCount] の値を取得します。
     *
     * フィールドの説明: [総ページ数かどうか? ページ番号の場合は decimal で指定の必要あり。]。
     * デフォルト: [false]。
     *
     * @return フィールド[totalPageCount]から取得した値。
     */
    public boolean getTotalPageCount() {
        return fTotalPageCount;
    }

    /**
     * フィールド [hidden] の値を設定します。
     *
     * フィールドの説明: [隠しフィールドかどうか?]。
     *
     * @param argHidden フィールド[hidden]に設定する値。
     */
    public void setHidden(final boolean argHidden) {
        fHidden = argHidden;
    }

    /**
     * フィールド [hidden] の値を取得します。
     *
     * フィールドの説明: [隠しフィールドかどうか?]。
     * デフォルト: [false]。
     *
     * @return フィールド[hidden]から取得した値。
     */
    public boolean getHidden() {
        return fHidden;
    }

    /**
     * フィールド [hiddenOnMiddlePage] の値を設定します。
     *
     * フィールドの説明: [途中のページで隠しフィールドになるかどうか?]。
     *
     * @param argHiddenOnMiddlePage フィールド[hiddenOnMiddlePage]に設定する値。
     */
    public void setHiddenOnMiddlePage(final boolean argHiddenOnMiddlePage) {
        fHiddenOnMiddlePage = argHiddenOnMiddlePage;
    }

    /**
     * フィールド [hiddenOnMiddlePage] の値を取得します。
     *
     * フィールドの説明: [途中のページで隠しフィールドになるかどうか?]。
     * デフォルト: [false]。
     *
     * @return フィールド[hiddenOnMiddlePage]から取得した値。
     */
    public boolean getHiddenOnMiddlePage() {
        return fHiddenOnMiddlePage;
    }

    /**
     * フィールド [hiddenOnEndPage] の値を設定します。
     *
     * フィールドの説明: [最後のページで隠しフィールドになるかどうか?]。
     *
     * @param argHiddenOnEndPage フィールド[hiddenOnEndPage]に設定する値。
     */
    public void setHiddenOnEndPage(final boolean argHiddenOnEndPage) {
        fHiddenOnEndPage = argHiddenOnEndPage;
    }

    /**
     * フィールド [hiddenOnEndPage] の値を取得します。
     *
     * フィールドの説明: [最後のページで隠しフィールドになるかどうか?]。
     * デフォルト: [false]。
     *
     * @return フィールド[hiddenOnEndPage]から取得した値。
     */
    public boolean getHiddenOnEndPage() {
        return fHiddenOnEndPage;
    }

    /**
     * このバリューオブジェクトの文字列表現を取得します。
     *
     * <P>使用上の注意</P>
     * <UL>
     * <LI>オブジェクトのシャロー範囲のみ文字列化の処理対象となります。
     * <LI>オブジェクトが循環参照している場合には、このメソッドは使わないでください。
     * </UL>
     *
     * @return バリューオブジェクトの文字列表現。
     */
    @Override
    public String toString() {
        final StringBuffer buf = new StringBuffer();
        buf.append("blanco.pdf.page.valueobject.BlancoPdfItemDef[");
        buf.append("name=" + fName);
        buf.append(",x=" + fX);
        buf.append(",y=" + fY);
        buf.append(",type=" + fType);
        buf.append(",length=" + fLength);
        buf.append(",format=" + fFormat);
        buf.append(",formatMinimumFractionDigits=" + fFormatMinimumFractionDigits);
        buf.append(",align=" + fAlign);
        buf.append(",font=" + fFont);
        buf.append(",fontSize=" + fFontSize);
        buf.append(",doubleByte=" + fDoubleByte);
        buf.append(",pageNo=" + fPageNo);
        buf.append(",totalPageCount=" + fTotalPageCount);
        buf.append(",hidden=" + fHidden);
        buf.append(",hiddenOnMiddlePage=" + fHiddenOnMiddlePage);
        buf.append(",hiddenOnEndPage=" + fHiddenOnEndPage);
        buf.append("]");
        return buf.toString();
    }
}
