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

import javax.xml.bind.annotation.XmlRootElement;

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

    /**
     * PDF 上のフォント名、または物理位置。
     *
     * フィールド: [fontName]。
     */
    private String fFontName;

    /**
     * PDF フォント・エンコーディング。
     *
     * フィールド: [fontEncoding]。
     */
    private String fFontEncoding;

    /**
     * フォントの修正高さ。
     *
     * フィールド: [descent]。
     * デフォルト: [0f]。
     */
    private float fDescent = 0f;

    /**
     * 0より大きい場合に有効。
     *
     * フィールド: [pitch]。
     * デフォルト: [-1f]。
     */
    private float fPitch = -1f;

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

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

    /**
     * フィールド [fontName] の値を設定します。
     *
     * フィールドの説明: [PDF 上のフォント名、または物理位置。]。
     *
     * @param argFontName フィールド[fontName]に設定する値。
     */
    public void setFontName(final String argFontName) {
        fFontName = argFontName;
    }

    /**
     * フィールド [fontName] の値を取得します。
     *
     * フィールドの説明: [PDF 上のフォント名、または物理位置。]。
     *
     * @return フィールド[fontName]から取得した値。
     */
    public String getFontName() {
        return fFontName;
    }

    /**
     * フィールド [fontEncoding] の値を設定します。
     *
     * フィールドの説明: [PDF フォント・エンコーディング。]。
     *
     * @param argFontEncoding フィールド[fontEncoding]に設定する値。
     */
    public void setFontEncoding(final String argFontEncoding) {
        fFontEncoding = argFontEncoding;
    }

    /**
     * フィールド [fontEncoding] の値を取得します。
     *
     * フィールドの説明: [PDF フォント・エンコーディング。]。
     *
     * @return フィールド[fontEncoding]から取得した値。
     */
    public String getFontEncoding() {
        return fFontEncoding;
    }

    /**
     * フィールド [descent] の値を設定します。
     *
     * フィールドの説明: [フォントの修正高さ。]。
     *
     * @param argDescent フィールド[descent]に設定する値。
     */
    public void setDescent(final float argDescent) {
        fDescent = argDescent;
    }

    /**
     * フィールド [descent] の値を取得します。
     *
     * フィールドの説明: [フォントの修正高さ。]。
     * デフォルト: [0f]。
     *
     * @return フィールド[descent]から取得した値。
     */
    public float getDescent() {
        return fDescent;
    }

    /**
     * フィールド [pitch] の値を設定します。
     *
     * フィールドの説明: [0より大きい場合に有効。]。
     *
     * @param argPitch フィールド[pitch]に設定する値。
     */
    public void setPitch(final float argPitch) {
        fPitch = argPitch;
    }

    /**
     * フィールド [pitch] の値を取得します。
     *
     * フィールドの説明: [0より大きい場合に有効。]。
     * デフォルト: [-1f]。
     *
     * @return フィールド[pitch]から取得した値。
     */
    public float getPitch() {
        return fPitch;
    }

    /**
     * このバリューオブジェクトの文字列表現を取得します。
     *
     * <P>使用上の注意</P>
     * <UL>
     * <LI>オブジェクトのシャロー範囲のみ文字列化の処理対象となります。
     * <LI>オブジェクトが循環参照している場合には、このメソッドは使わないでください。
     * </UL>
     *
     * @return バリューオブジェクトの文字列表現。
     */
    @Override
    public String toString() {
        final StringBuffer buf = new StringBuffer();
        buf.append("blanco.pdf.font.valueobject.BlancoPdfFontDef[");
        buf.append("name=" + fName);
        buf.append(",fontName=" + fFontName);
        buf.append(",fontEncoding=" + fFontEncoding);
        buf.append(",descent=" + fDescent);
        buf.append(",pitch=" + fPitch);
        buf.append("]");
        return buf.toString();
    }
}
