/*
 * このソースコードは blanco Frameworkによって自動生成されています。
 * ソースコード自動生成ライブラリ blancoCg のPOJOクラスです。
 */
package blanco.cg.valueobject;

import java.util.ArrayList;

/**
 * インタフェースを表現するためのバリューオブジェクト。<br>
 * インタフェースを作成したい場合に利用されます。<br>
 * ※ポイント：クラス名の名前変形や文字列のエスケープ処理などは、blancoCgに与える前に実施されている必要があります。
 */
public class BlancoCgInterface {
    /**
     * フィールド [name]
     *
     * 項目の型 [java.lang.String]<br>
     * このインタフェースの名前です。
     */
    private String fName;

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

    /**
     * フィールド [generics]
     *
     * 項目の型 [java.lang.String]<br>
     * ジェネリクスを指定します。
     */
    private String fGenerics;

    /**
     * フィールド [extendClassList]
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * 継承元クラスのリストです。<br>
     * Java言語では多重継承が禁止されているため、ひとつだけ指定する必要があります。
     */
    private ArrayList fExtendClassList = new ArrayList();

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

    /**
     * フィールド [annotationList]
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * このインタフェースに付与されているアノテーションのリストです。(java.lang.String)
     */
    private ArrayList fAnnotationList = new ArrayList();

    /**
     * フィールド [fieldList]
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * このインタフェースに含まれるフィールドのリストです。
     */
    private ArrayList fFieldList = new ArrayList();

    /**
     * フィールド [methodList]
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * このインタフェースに含まれるメソッドのリストです。
     */
    private ArrayList fMethodList = new ArrayList();

    /**
     * フィールド [langDoc]
     *
     * 項目の型 [blanco.cg.valueobject.BlancoCgLangDoc]<br>
     * 言語ドキュメントを蓄えます。デフォルト以上の表現を追加する場合には、インスタンスを生成して値をセットしてから自動生成します。
     */
    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;
    }

    /**
     * フィールド [generics]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * ジェネリクスを指定します。
     *
     * @param argGenerics フィールド[generics]に格納したい値
     */
    public void setGenerics(final String argGenerics) {
        fGenerics = argGenerics;
    }

    /**
     * フィールド[generics]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * ジェネリクスを指定します。
     *
     * @return フィールド[generics]に格納されている値
     */
    public String getGenerics() {
        return fGenerics;
    }

    /**
     * フィールド [extendClassList]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 継承元クラスのリストです。<br>
     * Java言語では多重継承が禁止されているため、ひとつだけ指定する必要があります。
     *
     * @param argExtendClassList フィールド[extendClassList]に格納したい値
     */
    public void setExtendClassList(final ArrayList argExtendClassList) {
        fExtendClassList = argExtendClassList;
    }

    /**
     * フィールド[extendClassList]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * 継承元クラスのリストです。<br>
     * Java言語では多重継承が禁止されているため、ひとつだけ指定する必要があります。
     *
     * @return フィールド[extendClassList]に格納されている値
     */
    public ArrayList getExtendClassList() {
        return fExtendClassList;
    }

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

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

    /**
     * フィールド [annotationList]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * このインタフェースに付与されているアノテーションのリストです。(java.lang.String)
     *
     * @param argAnnotationList フィールド[annotationList]に格納したい値
     */
    public void setAnnotationList(final ArrayList argAnnotationList) {
        fAnnotationList = argAnnotationList;
    }

    /**
     * フィールド[annotationList]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * このインタフェースに付与されているアノテーションのリストです。(java.lang.String)
     *
     * @return フィールド[annotationList]に格納されている値
     */
    public ArrayList getAnnotationList() {
        return fAnnotationList;
    }

    /**
     * フィールド [fieldList]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * このインタフェースに含まれるフィールドのリストです。
     *
     * @param argFieldList フィールド[fieldList]に格納したい値
     */
    public void setFieldList(final ArrayList argFieldList) {
        fFieldList = argFieldList;
    }

    /**
     * フィールド[fieldList]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * このインタフェースに含まれるフィールドのリストです。
     *
     * @return フィールド[fieldList]に格納されている値
     */
    public ArrayList getFieldList() {
        return fFieldList;
    }

    /**
     * フィールド [methodList]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * このインタフェースに含まれるメソッドのリストです。
     *
     * @param argMethodList フィールド[methodList]に格納したい値
     */
    public void setMethodList(final ArrayList argMethodList) {
        fMethodList = argMethodList;
    }

    /**
     * フィールド[methodList]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * このインタフェースに含まれるメソッドのリストです。
     *
     * @return フィールド[methodList]に格納されている値
     */
    public ArrayList getMethodList() {
        return fMethodList;
    }

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

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

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