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

/**
 * フィールドを表現するためのバリューオブジェクト。<br>
 * プログラミング言語によってはプロパティと呼ばれることもあります。<br>
 * ※ポイント：クラス名の名前変形や文字列のエスケープ処理などは、blancoCgに与える前に実施されている必要があります。
 */
public class BlancoCgField {
    /**
     * フィールド [name]
     *
     * 項目の型 [java.lang.String]<br>
     * このフィールドの名前です。
     */
    private String fName;

    /**
     * フィールド [description]
     *
     * 項目の型 [java.lang.String]<br>
     * このフィールドの説明です。
     */
    private String fDescription;

    /**
     * フィールド [type]
     *
     * 項目の型 [blanco.cg.valueobject.BlancoCgType]<br>
     * このフィールドの型です。java.lang.Stringなどを指定します。
     */
    private BlancoCgType fType;

    /**
     * フィールド [access]
     *
     * 項目の型 [java.lang.String]<br>
     * 規定値   ["private"]<br>
     * アクセスコントロールを指定します。public/protected/privateなどを指定します。
     */
    private String fAccess = "private";

    /**
     * フィールド [static]
     *
     * 項目の型 [boolean]<br>
     * 規定値   [false]<br>
     * staticかどうかをあらわします。
     */
    private boolean fStatic = false;

    /**
     * フィールド [final]
     *
     * 項目の型 [boolean]<br>
     * 規定値   [false]<br>
     * finalかどうかをあらわします。
     */
    private boolean fFinal = false;

    /**
     * フィールド [default]
     *
     * 項目の型 [java.lang.String]<br>
     * デフォルト値をあらわします。<br>
     * Stringなら &quot;&quot;、intなら 3 などのように実際の文を指定します。<br>
     * (ダブルクオートなども含んだ形で表現します。)
     */
    private String fDefault;

    /**
     * フィールド [langDoc]
     *
     * 項目の型 [blanco.cg.valueobject.BlancoCgLangDoc]<br>
     * 言語ドキュメントを蓄えます。デフォルト以上の表現を追加する場合には、インスタンスを生成して値をセットしてから自動生成します。なおBlancoCgObjectFactoryを経由してインスタンスを取得した際には、既にオブジェクトはセット済みです。
     */
    private BlancoCgLangDoc fLangDoc;

    /**
     * フィールド [name]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * このフィールドの名前です。
     *
     * @param argName フィールド[name]に格納したい値
     */
    public void setName(final String argName) {
        fName = argName;
    }

    /**
     * フィールド[name]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * このフィールドの名前です。
     *
     * @return フィールド[name]に格納されている値
     */
    public String getName() {
        return fName;
    }

    /**
     * フィールド [description]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * このフィールドの説明です。
     *
     * @param argDescription フィールド[description]に格納したい値
     */
    public void setDescription(final String argDescription) {
        fDescription = argDescription;
    }

    /**
     * フィールド[description]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * このフィールドの説明です。
     *
     * @return フィールド[description]に格納されている値
     */
    public String getDescription() {
        return fDescription;
    }

    /**
     * フィールド [type]のセッターメソッド
     *
     * 項目の型 [blanco.cg.valueobject.BlancoCgType]<br>
     * このフィールドの型です。java.lang.Stringなどを指定します。
     *
     * @param argType フィールド[type]に格納したい値
     */
    public void setType(final BlancoCgType argType) {
        fType = argType;
    }

    /**
     * フィールド[type]のゲッターメソッド
     *
     * 項目の型 [blanco.cg.valueobject.BlancoCgType]<br>
     * このフィールドの型です。java.lang.Stringなどを指定します。
     *
     * @return フィールド[type]に格納されている値
     */
    public BlancoCgType getType() {
        return fType;
    }

    /**
     * フィールド [access]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * アクセスコントロールを指定します。public/protected/privateなどを指定します。
     *
     * @param argAccess フィールド[access]に格納したい値
     */
    public void setAccess(final String argAccess) {
        fAccess = argAccess;
    }

    /**
     * フィールド[access]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * 規定値   ["private"]<br>
     * アクセスコントロールを指定します。public/protected/privateなどを指定します。
     *
     * @return フィールド[access]に格納されている値
     */
    public String getAccess() {
        return fAccess;
    }

    /**
     * フィールド [static]のセッターメソッド
     *
     * 項目の型 [boolean]<br>
     * staticかどうかをあらわします。
     *
     * @param argStatic フィールド[static]に格納したい値
     */
    public void setStatic(final boolean argStatic) {
        fStatic = argStatic;
    }

    /**
     * フィールド[static]のゲッターメソッド
     *
     * 項目の型 [boolean]<br>
     * 規定値   [false]<br>
     * staticかどうかをあらわします。
     *
     * @return フィールド[static]に格納されている値
     */
    public boolean getStatic() {
        return fStatic;
    }

    /**
     * フィールド [final]のセッターメソッド
     *
     * 項目の型 [boolean]<br>
     * finalかどうかをあらわします。
     *
     * @param argFinal フィールド[final]に格納したい値
     */
    public void setFinal(final boolean argFinal) {
        fFinal = argFinal;
    }

    /**
     * フィールド[final]のゲッターメソッド
     *
     * 項目の型 [boolean]<br>
     * 規定値   [false]<br>
     * finalかどうかをあらわします。
     *
     * @return フィールド[final]に格納されている値
     */
    public boolean getFinal() {
        return fFinal;
    }

    /**
     * フィールド [default]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * デフォルト値をあらわします。<br>
     * Stringなら &quot;&quot;、intなら 3 などのように実際の文を指定します。<br>
     * (ダブルクオートなども含んだ形で表現します。)
     *
     * @param argDefault フィールド[default]に格納したい値
     */
    public void setDefault(final String argDefault) {
        fDefault = argDefault;
    }

    /**
     * フィールド[default]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * デフォルト値をあらわします。<br>
     * Stringなら &quot;&quot;、intなら 3 などのように実際の文を指定します。<br>
     * (ダブルクオートなども含んだ形で表現します。)
     *
     * @return フィールド[default]に格納されている値
     */
    public String getDefault() {
        return fDefault;
    }

    /**
     * フィールド [langDoc]のセッターメソッド
     *
     * 項目の型 [blanco.cg.valueobject.BlancoCgLangDoc]<br>
     * 言語ドキュメントを蓄えます。デフォルト以上の表現を追加する場合には、インスタンスを生成して値をセットしてから自動生成します。なおBlancoCgObjectFactoryを経由してインスタンスを取得した際には、既にオブジェクトはセット済みです。
     *
     * @param argLangDoc フィールド[langDoc]に格納したい値
     */
    public void setLangDoc(final BlancoCgLangDoc argLangDoc) {
        fLangDoc = argLangDoc;
    }

    /**
     * フィールド[langDoc]のゲッターメソッド
     *
     * 項目の型 [blanco.cg.valueobject.BlancoCgLangDoc]<br>
     * 言語ドキュメントを蓄えます。デフォルト以上の表現を追加する場合には、インスタンスを生成して値をセットしてから自動生成します。なおBlancoCgObjectFactoryを経由してインスタンスを取得した際には、既にオブジェクトはセット済みです。
     *
     * @return フィールド[langDoc]に格納されている値
     */
    public BlancoCgLangDoc getLangDoc() {
        return fLangDoc;
    }

    /**
     * このバリューオブジェクトの文字列表現を取得します。
     *
     * オブジェクトのシャロー範囲でしかtoStringされない点に注意して利用してください。
     *
     * @return バリューオブジェクトの文字列表現。
     */
    public String toString() {
        final StringBuffer buf = new StringBuffer();
        buf.append("blanco.cg.valueobject.BlancoCgField[");
        buf.append("name=" + fName);
        buf.append(",description=" + fDescription);
        buf.append(",type=" + fType);
        buf.append(",access=" + fAccess);
        buf.append(",static=" + fStatic);
        buf.append(",final=" + fFinal);
        buf.append(",default=" + fDefault);
        buf.append(",langDoc=" + fLangDoc);
        buf.append("]");
        return buf.toString();
    }
}
