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

import java.util.List;

/**
 * BlancoValueObjectDotNetのなかで利用されるValueObjectです。
 */
public class BlancoValueObjectDotNetClassStructure {
    /**
     * フィールド名を指定します。必須項目です。
     *
     * フィールド: [name]。
     */
    private String fName;

    /**
     * パッケージ名を指定します。必須項目です。
     *
     * フィールド: [package]。
     */
    private String fPackage;

    /**
     * クラスのJavaDocを指定します。
     *
     * フィールド: [description]。
     */
    private String fDescription;

    /**
     * クラスの補助説明です。文字参照エンコード済みの値を格納してください。
     *
     * フィールド: [descriptionList]。
     * デフォルト: [new java.util.ArrayList<java.lang.String>()]。
     */
    private List<java.lang.String> fDescriptionList = new java.util.ArrayList<java.lang.String>();

    /**
     * ファイルコメントを指定します。
     *
     * フィールド: [filecomment]。
     * デフォルト: ["このクラスはblancoValueObjectにより自動生成されました。"]。
     */
    private String fFilecomment = "このクラスはblancoValueObjectにより自動生成されました。";

    /**
     * フィールドを記憶するリストを指定します。
     *
     * フィールド: [fieldList]。
     * デフォルト: [new java.util.ArrayList<blanco.valueobjectdotnet.valueobject.BlancoValueObjectDotNetFieldStructure>()]。
     */
    private List<blanco.valueobjectdotnet.valueobject.BlancoValueObjectDotNetFieldStructure> fFieldList = new java.util.ArrayList<blanco.valueobjectdotnet.valueobject.BlancoValueObjectDotNetFieldStructure>();

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

    /**
     * フィールド [name] の値を取得します。
     *
     * フィールドの説明: [フィールド名を指定します。必須項目です。]。
     *
     * @return フィールド[name]から取得した値。
     */
    public String getName() {
        return fName;
    }

    /**
     * フィールド [package] の値を設定します。
     *
     * フィールドの説明: [パッケージ名を指定します。必須項目です。]。
     *
     * @param argPackage フィールド[package]に設定する値。
     */
    public void setPackage(final String argPackage) {
        fPackage = argPackage;
    }

    /**
     * フィールド [package] の値を取得します。
     *
     * フィールドの説明: [パッケージ名を指定します。必須項目です。]。
     *
     * @return フィールド[package]から取得した値。
     */
    public String getPackage() {
        return fPackage;
    }

    /**
     * フィールド [description] の値を設定します。
     *
     * フィールドの説明: [クラスのJavaDocを指定します。]。
     *
     * @param argDescription フィールド[description]に設定する値。
     */
    public void setDescription(final String argDescription) {
        fDescription = argDescription;
    }

    /**
     * フィールド [description] の値を取得します。
     *
     * フィールドの説明: [クラスのJavaDocを指定します。]。
     *
     * @return フィールド[description]から取得した値。
     */
    public String getDescription() {
        return fDescription;
    }

    /**
     * フィールド [descriptionList] の値を設定します。
     *
     * フィールドの説明: [クラスの補助説明です。文字参照エンコード済みの値を格納してください。]。
     *
     * @param argDescriptionList フィールド[descriptionList]に設定する値。
     */
    public void setDescriptionList(final List<java.lang.String> argDescriptionList) {
        fDescriptionList = argDescriptionList;
    }

    /**
     * フィールド [descriptionList] の値を取得します。
     *
     * フィールドの説明: [クラスの補助説明です。文字参照エンコード済みの値を格納してください。]。
     * デフォルト: [new java.util.ArrayList<java.lang.String>()]。
     *
     * @return フィールド[descriptionList]から取得した値。
     */
    public List<java.lang.String> getDescriptionList() {
        return fDescriptionList;
    }

    /**
     * フィールド [filecomment] の値を設定します。
     *
     * フィールドの説明: [ファイルコメントを指定します。]。
     *
     * @param argFilecomment フィールド[filecomment]に設定する値。
     */
    public void setFilecomment(final String argFilecomment) {
        fFilecomment = argFilecomment;
    }

    /**
     * フィールド [filecomment] の値を取得します。
     *
     * フィールドの説明: [ファイルコメントを指定します。]。
     * デフォルト: ["このクラスはblancoValueObjectにより自動生成されました。"]。
     *
     * @return フィールド[filecomment]から取得した値。
     */
    public String getFilecomment() {
        return fFilecomment;
    }

    /**
     * フィールド [fieldList] の値を設定します。
     *
     * フィールドの説明: [フィールドを記憶するリストを指定します。]。
     *
     * @param argFieldList フィールド[fieldList]に設定する値。
     */
    public void setFieldList(final List<blanco.valueobjectdotnet.valueobject.BlancoValueObjectDotNetFieldStructure> argFieldList) {
        fFieldList = argFieldList;
    }

    /**
     * フィールド [fieldList] の値を取得します。
     *
     * フィールドの説明: [フィールドを記憶するリストを指定します。]。
     * デフォルト: [new java.util.ArrayList<blanco.valueobjectdotnet.valueobject.BlancoValueObjectDotNetFieldStructure>()]。
     *
     * @return フィールド[fieldList]から取得した値。
     */
    public List<blanco.valueobjectdotnet.valueobject.BlancoValueObjectDotNetFieldStructure> getFieldList() {
        return fFieldList;
    }

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