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

import java.util.ArrayList;

/**
 * ソースファイルを表現するためのバリューオブジェクト。
 */
public class BlancoCgSourceFile {
    /**
     * フィールド [name]
     *
     * 項目の型 [java.lang.String]<br>
     * このファイルのファイル名です。<br>
     * なお、この値は明示的に指定しなくとも、多くの場合はクラス名・インタフェース名から名称が導出されるようになっています。
     */
    private String fName;

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

    /**
     * フィールド [package]
     *
     * 項目の型 [java.lang.String]<br>
     * このファイルが所属するパッケージです。
     */
    private String fPackage;

    /**
     * フィールド [importList]
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * このファイルが参照する他のパッケージのリストです。java.lang.Stringのリスト。
     */
    private ArrayList fImportList = new ArrayList();

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

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

    /**
     * フィールド [langDoc]
     *
     * 項目の型 [blanco.cg.valueobject.BlancoCgLangDoc]<br>
     * 言語ドキュメントを蓄えます。デフォルト以上の表現を追加する場合には、インスタンスを生成して値をセットしてから自動生成します。<br>
     * なお、このバリューオブジェクトはソースファイルの言語ドキュメントに該当するため、ここでセットした値が実際のソースコードに反映される場合の影響範囲は限定されてしまう場合があります。
     */
    private BlancoCgLangDoc fLangDoc;

    /**
     * フィールド [name]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * このファイルのファイル名です。<br>
     * なお、この値は明示的に指定しなくとも、多くの場合はクラス名・インタフェース名から名称が導出されるようになっています。
     *
     * @param argName フィールド[name]に格納したい値
     */
    public void setName(final String argName) {
        fName = argName;
    }

    /**
     * フィールド[name]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * このファイルのファイル名です。<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;
    }

    /**
     * フィールド [package]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * このファイルが所属するパッケージです。
     *
     * @param argPackage フィールド[package]に格納したい値
     */
    public void setPackage(final String argPackage) {
        fPackage = argPackage;
    }

    /**
     * フィールド[package]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * このファイルが所属するパッケージです。
     *
     * @return フィールド[package]に格納されている値
     */
    public String getPackage() {
        return fPackage;
    }

    /**
     * フィールド [importList]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * このファイルが参照する他のパッケージのリストです。java.lang.Stringのリスト。
     *
     * @param argImportList フィールド[importList]に格納したい値
     */
    public void setImportList(final ArrayList argImportList) {
        fImportList = argImportList;
    }

    /**
     * フィールド[importList]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * このファイルが参照する他のパッケージのリストです。java.lang.Stringのリスト。
     *
     * @return フィールド[importList]に格納されている値
     */
    public ArrayList getImportList() {
        return fImportList;
    }

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

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

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

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

    /**
     * フィールド [langDoc]のセッターメソッド
     *
     * 項目の型 [blanco.cg.valueobject.BlancoCgLangDoc]<br>
     * 言語ドキュメントを蓄えます。デフォルト以上の表現を追加する場合には、インスタンスを生成して値をセットしてから自動生成します。<br>
     * なお、このバリューオブジェクトはソースファイルの言語ドキュメントに該当するため、ここでセットした値が実際のソースコードに反映される場合の影響範囲は限定されてしまう場合があります。
     *
     * @param argLangDoc フィールド[langDoc]に格納したい値
     */
    public void setLangDoc(final BlancoCgLangDoc argLangDoc) {
        fLangDoc = argLangDoc;
    }

    /**
     * フィールド[langDoc]のゲッターメソッド
     *
     * 項目の型 [blanco.cg.valueobject.BlancoCgLangDoc]<br>
     * 言語ドキュメントを蓄えます。デフォルト以上の表現を追加する場合には、インスタンスを生成して値をセットしてから自動生成します。<br>
     * なお、このバリューオブジェクトはソースファイルの言語ドキュメントに該当するため、ここでセットした値が実際のソースコードに反映される場合の影響範囲は限定されてしまう場合があります。
     *
     * @return フィールド[langDoc]に格納されている値
     */
    public BlancoCgLangDoc getLangDoc() {
        return fLangDoc;
    }

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