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

import java.util.List;

/**
 * バリューオブジェクトのクラスをあらわすバリューオブジェクトクラス。このクラスの設定情報をもとにクラスが自動生成されます。
 */
public class BlancoValueObjectClassStructure {
    /**
     * フィールド [name]
     *
     * 項目の型 [java.lang.String]<br>
     * フィールド名を指定します。必須項目です。
     */
    private String fName;

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

    /**
     * フィールド [description]
     *
     * 項目の型 [java.lang.String]<br>
     * クラスのJavaDocを指定します。
     */
    private String fDescription;

    /**
     * フィールド [access]
     *
     * 項目の型 [java.lang.String]<br>
     * 規定値   ["public"]<br>
     * クラスのアクセス。通常は public。
     */
    private String fAccess = "public";

    /**
     * フィールド [abstract]
     *
     * 項目の型 [boolean]<br>
     * 規定値   [false]<br>
     * 抽象クラスかどうか。通常は false。
     */
    private boolean fAbstract = false;

    /**
     * フィールド [generateToString]
     *
     * 項目の型 [boolean]<br>
     * 規定値   [true]<br>
     * toStringメソッドを生成するかどうか。
     */
    private boolean fGenerateToString = true;

    /**
     * フィールド [adjustFieldName]
     *
     * 項目の型 [boolean]<br>
     * 規定値   [true]<br>
     * フィールド名の名前変形をおこなうかどうか。
     */
    private boolean fAdjustFieldName = true;

    /**
     * フィールド [adjustDefaultValue]
     *
     * 項目の型 [boolean]<br>
     * 規定値   [true]<br>
     * デフォルト値の変形をおこなうかどうか。※なるべく変形を利用しないことを推奨したい。※プログラムAPIとして生成する際には、このフィールドを明示的に設定してください。
     */
    private boolean fAdjustDefaultValue = true;

    /**
     * フィールド [extends]
     *
     * 項目の型 [java.lang.String]<br>
     * 継承するクラスを指定します。
     */
    private String fExtends;

    /**
     * フィールド [implementsList]
     *
     * 項目の型 [java.util.List<java.lang.String>]<br>
     * 規定値   [new java.util.ArrayList<java.lang.String>()]<br>
     * 実装するインタフェース(java.lang.String)の一覧。
     */
    private List<java.lang.String> fImplementsList = new java.util.ArrayList<java.lang.String>();

    /**
     * フィールド [fieldList]
     *
     * 項目の型 [java.util.List<blanco.valueobject.valueobject.BlancoValueObjectFieldStructure>]<br>
     * 規定値   [new java.util.ArrayList<blanco.valueobject.valueobject.BlancoValueObjectFieldStructure>()]<br>
     * フィールドを記憶するリストを指定します。
     */
    private List<blanco.valueobject.valueobject.BlancoValueObjectFieldStructure> fFieldList = new java.util.ArrayList<blanco.valueobject.valueobject.BlancoValueObjectFieldStructure>();

    /**
     * フィールド [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;
    }

    /**
     * フィールド [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;
    }

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

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

    /**
     * フィールド [access]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * クラスのアクセス。通常は public。
     *
     * @param argAccess フィールド[access]に格納したい値
     */
    public void setAccess(final String argAccess) {
        fAccess = argAccess;
    }

    /**
     * フィールド[access]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * 規定値   ["public"]<br>
     * クラスのアクセス。通常は public。
     *
     * @return フィールド[access]に格納されている値
     */
    public String getAccess() {
        return fAccess;
    }

    /**
     * フィールド [abstract]のセッターメソッド
     *
     * 項目の型 [boolean]<br>
     * 抽象クラスかどうか。通常は false。
     *
     * @param argAbstract フィールド[abstract]に格納したい値
     */
    public void setAbstract(final boolean argAbstract) {
        fAbstract = argAbstract;
    }

    /**
     * フィールド[abstract]のゲッターメソッド
     *
     * 項目の型 [boolean]<br>
     * 規定値   [false]<br>
     * 抽象クラスかどうか。通常は false。
     *
     * @return フィールド[abstract]に格納されている値
     */
    public boolean getAbstract() {
        return fAbstract;
    }

    /**
     * フィールド [generateToString]のセッターメソッド
     *
     * 項目の型 [boolean]<br>
     * toStringメソッドを生成するかどうか。
     *
     * @param argGenerateToString フィールド[generateToString]に格納したい値
     */
    public void setGenerateToString(final boolean argGenerateToString) {
        fGenerateToString = argGenerateToString;
    }

    /**
     * フィールド[generateToString]のゲッターメソッド
     *
     * 項目の型 [boolean]<br>
     * 規定値   [true]<br>
     * toStringメソッドを生成するかどうか。
     *
     * @return フィールド[generateToString]に格納されている値
     */
    public boolean getGenerateToString() {
        return fGenerateToString;
    }

    /**
     * フィールド [adjustFieldName]のセッターメソッド
     *
     * 項目の型 [boolean]<br>
     * フィールド名の名前変形をおこなうかどうか。
     *
     * @param argAdjustFieldName フィールド[adjustFieldName]に格納したい値
     */
    public void setAdjustFieldName(final boolean argAdjustFieldName) {
        fAdjustFieldName = argAdjustFieldName;
    }

    /**
     * フィールド[adjustFieldName]のゲッターメソッド
     *
     * 項目の型 [boolean]<br>
     * 規定値   [true]<br>
     * フィールド名の名前変形をおこなうかどうか。
     *
     * @return フィールド[adjustFieldName]に格納されている値
     */
    public boolean getAdjustFieldName() {
        return fAdjustFieldName;
    }

    /**
     * フィールド [adjustDefaultValue]のセッターメソッド
     *
     * 項目の型 [boolean]<br>
     * デフォルト値の変形をおこなうかどうか。※なるべく変形を利用しないことを推奨したい。※プログラムAPIとして生成する際には、このフィールドを明示的に設定してください。
     *
     * @param argAdjustDefaultValue フィールド[adjustDefaultValue]に格納したい値
     */
    public void setAdjustDefaultValue(final boolean argAdjustDefaultValue) {
        fAdjustDefaultValue = argAdjustDefaultValue;
    }

    /**
     * フィールド[adjustDefaultValue]のゲッターメソッド
     *
     * 項目の型 [boolean]<br>
     * 規定値   [true]<br>
     * デフォルト値の変形をおこなうかどうか。※なるべく変形を利用しないことを推奨したい。※プログラムAPIとして生成する際には、このフィールドを明示的に設定してください。
     *
     * @return フィールド[adjustDefaultValue]に格納されている値
     */
    public boolean getAdjustDefaultValue() {
        return fAdjustDefaultValue;
    }

    /**
     * フィールド [extends]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * 継承するクラスを指定します。
     *
     * @param argExtends フィールド[extends]に格納したい値
     */
    public void setExtends(final String argExtends) {
        fExtends = argExtends;
    }

    /**
     * フィールド[extends]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * 継承するクラスを指定します。
     *
     * @return フィールド[extends]に格納されている値
     */
    public String getExtends() {
        return fExtends;
    }

    /**
     * フィールド [implementsList]のセッターメソッド
     *
     * 項目の型 [java.util.List<java.lang.String>]<br>
     * 実装するインタフェース(java.lang.String)の一覧。
     *
     * @param argImplementsList フィールド[implementsList]に格納したい値
     */
    public void setImplementsList(final List<java.lang.String> argImplementsList) {
        fImplementsList = argImplementsList;
    }

    /**
     * フィールド[implementsList]のゲッターメソッド
     *
     * 項目の型 [java.util.List<java.lang.String>]<br>
     * 規定値   [new java.util.ArrayList<java.lang.String>()]<br>
     * 実装するインタフェース(java.lang.String)の一覧。
     *
     * @return フィールド[implementsList]に格納されている値
     */
    public List<java.lang.String> getImplementsList() {
        return fImplementsList;
    }

    /**
     * フィールド [fieldList]のセッターメソッド
     *
     * 項目の型 [java.util.List<blanco.valueobject.valueobject.BlancoValueObjectFieldStructure>]<br>
     * フィールドを記憶するリストを指定します。
     *
     * @param argFieldList フィールド[fieldList]に格納したい値
     */
    public void setFieldList(final List<blanco.valueobject.valueobject.BlancoValueObjectFieldStructure> argFieldList) {
        fFieldList = argFieldList;
    }

    /**
     * フィールド[fieldList]のゲッターメソッド
     *
     * 項目の型 [java.util.List<blanco.valueobject.valueobject.BlancoValueObjectFieldStructure>]<br>
     * 規定値   [new java.util.ArrayList<blanco.valueobject.valueobject.BlancoValueObjectFieldStructure>()]<br>
     * フィールドを記憶するリストを指定します。
     *
     * @return フィールド[fieldList]に格納されている値
     */
    public List<blanco.valueobject.valueobject.BlancoValueObjectFieldStructure> getFieldList() {
        return fFieldList;
    }

    /**
     * このバリューオブジェクトの文字列表現を取得します。
     *
     * オブジェクトのシャロー範囲でしかtoStringされない点に注意して利用してください。
     *
     * @return バリューオブジェクトの文字列表現。
     */
    public String toString() {
        final StringBuffer buf = new StringBuffer();
        buf.append("blanco.valueobject.valueobject.BlancoValueObjectClassStructure[");
        buf.append("name=" + fName);
        buf.append(",package=" + fPackage);
        buf.append(",description=" + fDescription);
        buf.append(",access=" + fAccess);
        buf.append(",abstract=" + fAbstract);
        buf.append(",generateToString=" + fGenerateToString);
        buf.append(",adjustFieldName=" + fAdjustFieldName);
        buf.append(",adjustDefaultValue=" + fAdjustDefaultValue);
        buf.append(",extends=" + fExtends);
        buf.append(",implementsList=" + fImplementsList);
        buf.append(",fieldList=" + fFieldList);
        buf.append("]");
        return buf.toString();
    }
}
