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

import java.awt.Color;

import javax.xml.bind.annotation.XmlRootElement;

/**
 * PDF メトリクス・バリューオブジェクト。
 */
@XmlRootElement
public class BlancoPdfMetrix {
    /**
     * テキスト色。
     *
     * フィールド: [colorText]。
     */
    private Color fColorText;

    /**
     * ストローク色。
     *
     * フィールド: [colorStroke]。
     */
    private Color fColorStroke;

    /**
     * 塗りつぶし色。
     *
     * フィールド: [colorFill]。
     */
    private Color fColorFill;

    /**
     * 行の幅。
     *
     * フィールド: [lineWidth]。
     * デフォルト: [0.1f]。
     */
    private float fLineWidth = 0.1f;

    /**
     * 点線など。
     *
     * フィールド: [lineDash]。
     */
    private float[] fLineDash;

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

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

    /**
     * フィールド [colorText] の値を設定します。
     *
     * フィールドの説明: [テキスト色。]。
     *
     * @param argColorText フィールド[colorText]に設定する値。
     */
    public void setColorText(final Color argColorText) {
        fColorText = argColorText;
    }

    /**
     * フィールド [colorText] の値を取得します。
     *
     * フィールドの説明: [テキスト色。]。
     *
     * @return フィールド[colorText]から取得した値。
     */
    public Color getColorText() {
        return fColorText;
    }

    /**
     * フィールド [colorStroke] の値を設定します。
     *
     * フィールドの説明: [ストローク色。]。
     *
     * @param argColorStroke フィールド[colorStroke]に設定する値。
     */
    public void setColorStroke(final Color argColorStroke) {
        fColorStroke = argColorStroke;
    }

    /**
     * フィールド [colorStroke] の値を取得します。
     *
     * フィールドの説明: [ストローク色。]。
     *
     * @return フィールド[colorStroke]から取得した値。
     */
    public Color getColorStroke() {
        return fColorStroke;
    }

    /**
     * フィールド [colorFill] の値を設定します。
     *
     * フィールドの説明: [塗りつぶし色。]。
     *
     * @param argColorFill フィールド[colorFill]に設定する値。
     */
    public void setColorFill(final Color argColorFill) {
        fColorFill = argColorFill;
    }

    /**
     * フィールド [colorFill] の値を取得します。
     *
     * フィールドの説明: [塗りつぶし色。]。
     *
     * @return フィールド[colorFill]から取得した値。
     */
    public Color getColorFill() {
        return fColorFill;
    }

    /**
     * フィールド [lineWidth] の値を設定します。
     *
     * フィールドの説明: [行の幅。]。
     *
     * @param argLineWidth フィールド[lineWidth]に設定する値。
     */
    public void setLineWidth(final float argLineWidth) {
        fLineWidth = argLineWidth;
    }

    /**
     * フィールド [lineWidth] の値を取得します。
     *
     * フィールドの説明: [行の幅。]。
     * デフォルト: [0.1f]。
     *
     * @return フィールド[lineWidth]から取得した値。
     */
    public float getLineWidth() {
        return fLineWidth;
    }

    /**
     * フィールド [lineDash] の値を設定します。
     *
     * フィールドの説明: [点線など。]。
     *
     * @param argLineDash フィールド[lineDash]に設定する値。
     */
    public void setLineDash(final float[] argLineDash) {
        fLineDash = argLineDash;
    }

    /**
     * フィールド [lineDash] の値を取得します。
     *
     * フィールドの説明: [点線など。]。
     *
     * @return フィールド[lineDash]から取得した値。
     */
    public float[] getLineDash() {
        return fLineDash;
    }

    /**
     * フィールド [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;
    }

    /**
     * このバリューオブジェクトの文字列表現を取得します。
     *
     * <P>使用上の注意</P>
     * <UL>
     * <LI>オブジェクトのシャロー範囲のみ文字列化の処理対象となります。
     * <LI>オブジェクトが循環参照している場合には、このメソッドは使わないでください。
     * </UL>
     *
     * @return バリューオブジェクトの文字列表現。
     */
    @Override
    public String toString() {
        final StringBuffer buf = new StringBuffer();
        buf.append("blanco.pdf.valueobject.BlancoPdfMetrix[");
        buf.append("colorText=" + fColorText);
        buf.append(",colorStroke=" + fColorStroke);
        buf.append(",colorFill=" + fColorFill);
        buf.append(",lineWidth=" + fLineWidth);
        if (fLineDash == null) {
            buf.append(",lineDash=null");
        } else {
            buf.append(",lineDash=[");
            for (int index = 0; index < fLineDash.length; index++) {
                buf.append((index == 0 ? "" : ", ") + fLineDash[index]);
            }
            buf.append("]");
        }
        buf.append(",font=" + fFont);
        buf.append(",fontSize=" + fFontSize);
        buf.append("]");
        return buf.toString();
    }
}
