/*
 * このソースコードは blanco Frameworkによって自動生成されています。
 * このファイルはBlancoValueObjectにより自動生成されました。
 */
package blanco.hashtable.valueobject;

import java.util.ArrayList;

/**
 * ハッシュテーブル定義書を表すValueObjectです。
 */
public class BlancoHashtableStructure {
    /**
     * フィールド [name]
     *
     * 項目の型 [java.lang.String]<br>
     * ハッシュテーブル定義IDを指定します。必須項目です。
     */
    private String fName;

    /**
     * フィールド [description]
     *
     * 項目の型 [java.lang.String]<br>
     * ハッシュテーブル定義の説明を記載します。
     */
    private String fDescription;

    /**
     * フィールド [package]
     *
     * 項目の型 [java.lang.String]<br>
     * パッケージ名を指定します。必須項目です。
     */
    private String fPackage;

    /**
     * フィールド [suffix]
     *
     * 項目の型 [java.lang.String]<br>
     * クラス名の後方に付与されるサフィックス。
     */
    private String fSuffix;

    /**
     * フィールド [input]
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * ハッシュテーブル定義・入力の項目を保持するリスト。
     */
    private ArrayList fInput = new ArrayList();

    /**
     * フィールド [output]
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * ハッシュテーブル定義・出力の項目を保持するリスト。
     */
    private ArrayList fOutput = new ArrayList();

    /**
     * フィールド [name]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * ハッシュテーブル定義IDを指定します。必須項目です。
     *
     * @param argName フィールド[name]に格納したい値
     */
    public void setName(final String argName) {
        fName = argName;
    }

    /**
     * フィールド[name]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * ハッシュテーブル定義IDを指定します。必須項目です。
     *
     * @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;
    }

    /**
     * フィールド [suffix]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * クラス名の後方に付与されるサフィックス。
     *
     * @param argSuffix フィールド[suffix]に格納したい値
     */
    public void setSuffix(final String argSuffix) {
        fSuffix = argSuffix;
    }

    /**
     * フィールド[suffix]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * クラス名の後方に付与されるサフィックス。
     *
     * @return フィールド[suffix]に格納されている値
     */
    public String getSuffix() {
        return fSuffix;
    }

    /**
     * フィールド [input]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * ハッシュテーブル定義・入力の項目を保持するリスト。
     *
     * @param argInput フィールド[input]に格納したい値
     */
    public void setInput(final ArrayList argInput) {
        fInput = argInput;
    }

    /**
     * フィールド[input]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * ハッシュテーブル定義・入力の項目を保持するリスト。
     *
     * @return フィールド[input]に格納されている値
     */
    public ArrayList getInput() {
        return fInput;
    }

    /**
     * フィールド [output]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * ハッシュテーブル定義・出力の項目を保持するリスト。
     *
     * @param argOutput フィールド[output]に格納したい値
     */
    public void setOutput(final ArrayList argOutput) {
        fOutput = argOutput;
    }

    /**
     * フィールド[output]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 規定値   [new ArrayList()]<br>
     * ハッシュテーブル定義・出力の項目を保持するリスト。
     *
     * @return フィールド[output]に格納されている値
     */
    public ArrayList getOutput() {
        return fOutput;
    }

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