/*
 * このソースコードは blanco Frameworkによって自動生成されています。
 * 表の定義情報を格納します。
 */
package blanco.dbmetadata.valueobject;

import java.util.ArrayList;

/**
 * 表の定義情報を格納します。
 */
public class BlancoDbMetaDataTableStructure {
    /**
     * フィールド [NAME]
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_NAME
     */
    private String fName;

    /**
     * フィールド [TYPE]
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_TYPE
     */
    private String fType;

    /**
     * フィールド [CATALOG]
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_CAT
     */
    private String fCatalog;

    /**
     * フィールド [SCHEMA]
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_SCHEM
     */
    private String fSchema;

    /**
     * フィールド [REMARKS]
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の REMARKS
     */
    private String fRemarks;

    /**
     * フィールド [columns]
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 表に含まれる項目。
     */
    private ArrayList fColumns;

    /**
     * フィールド [primaryKeys]
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 表に含まれるプライマリキー情報。
     */
    private ArrayList fPrimaryKeys;

    /**
     * フィールド [importedKeys]
     *
     * 項目の型 [java.util.ArrayList]<br>
     */
    private ArrayList fImportedKeys;

    /**
     * フィールド [exportedKeys]
     *
     * 項目の型 [java.util.ArrayList]<br>
     */
    private ArrayList fExportedKeys;

    /**
     * フィールド [crossReferenceKeys]
     *
     * 項目の型 [java.util.ArrayList]<br>
     */
    private ArrayList fCrossReferenceKeys;

    /**
     * フィールド [NAME]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_NAME
     *
     * @param argName フィールド[NAME]に格納したい値
     */
    public void setName(final String argName) {
        fName = argName;
    }

    /**
     * フィールド[NAME]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_NAME
     *
     * @return フィールド[NAME]に格納されている値
     */
    public String getName() {
        return fName;
    }

    /**
     * フィールド [TYPE]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_TYPE
     *
     * @param argType フィールド[TYPE]に格納したい値
     */
    public void setType(final String argType) {
        fType = argType;
    }

    /**
     * フィールド[TYPE]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_TYPE
     *
     * @return フィールド[TYPE]に格納されている値
     */
    public String getType() {
        return fType;
    }

    /**
     * フィールド [CATALOG]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_CAT
     *
     * @param argCatalog フィールド[CATALOG]に格納したい値
     */
    public void setCatalog(final String argCatalog) {
        fCatalog = argCatalog;
    }

    /**
     * フィールド[CATALOG]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_CAT
     *
     * @return フィールド[CATALOG]に格納されている値
     */
    public String getCatalog() {
        return fCatalog;
    }

    /**
     * フィールド [SCHEMA]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_SCHEM
     *
     * @param argSchema フィールド[SCHEMA]に格納したい値
     */
    public void setSchema(final String argSchema) {
        fSchema = argSchema;
    }

    /**
     * フィールド[SCHEMA]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TABLE_SCHEM
     *
     * @return フィールド[SCHEMA]に格納されている値
     */
    public String getSchema() {
        return fSchema;
    }

    /**
     * フィールド [REMARKS]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の REMARKS
     *
     * @param argRemarks フィールド[REMARKS]に格納したい値
     */
    public void setRemarks(final String argRemarks) {
        fRemarks = argRemarks;
    }

    /**
     * フィールド[REMARKS]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の REMARKS
     *
     * @return フィールド[REMARKS]に格納されている値
     */
    public String getRemarks() {
        return fRemarks;
    }

    /**
     * フィールド [columns]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 表に含まれる項目。
     *
     * @param argColumns フィールド[columns]に格納したい値
     */
    public void setColumns(final ArrayList argColumns) {
        fColumns = argColumns;
    }

    /**
     * フィールド[columns]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 表に含まれる項目。
     *
     * @return フィールド[columns]に格納されている値
     */
    public ArrayList getColumns() {
        return fColumns;
    }

    /**
     * フィールド [primaryKeys]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 表に含まれるプライマリキー情報。
     *
     * @param argPrimaryKeys フィールド[primaryKeys]に格納したい値
     */
    public void setPrimaryKeys(final ArrayList argPrimaryKeys) {
        fPrimaryKeys = argPrimaryKeys;
    }

    /**
     * フィールド[primaryKeys]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     * 表に含まれるプライマリキー情報。
     *
     * @return フィールド[primaryKeys]に格納されている値
     */
    public ArrayList getPrimaryKeys() {
        return fPrimaryKeys;
    }

    /**
     * フィールド [importedKeys]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     *
     * @param argImportedKeys フィールド[importedKeys]に格納したい値
     */
    public void setImportedKeys(final ArrayList argImportedKeys) {
        fImportedKeys = argImportedKeys;
    }

    /**
     * フィールド[importedKeys]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     *
     * @return フィールド[importedKeys]に格納されている値
     */
    public ArrayList getImportedKeys() {
        return fImportedKeys;
    }

    /**
     * フィールド [exportedKeys]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     *
     * @param argExportedKeys フィールド[exportedKeys]に格納したい値
     */
    public void setExportedKeys(final ArrayList argExportedKeys) {
        fExportedKeys = argExportedKeys;
    }

    /**
     * フィールド[exportedKeys]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     *
     * @return フィールド[exportedKeys]に格納されている値
     */
    public ArrayList getExportedKeys() {
        return fExportedKeys;
    }

    /**
     * フィールド [crossReferenceKeys]のセッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     *
     * @param argCrossReferenceKeys フィールド[crossReferenceKeys]に格納したい値
     */
    public void setCrossReferenceKeys(final ArrayList argCrossReferenceKeys) {
        fCrossReferenceKeys = argCrossReferenceKeys;
    }

    /**
     * フィールド[crossReferenceKeys]のゲッターメソッド
     *
     * 項目の型 [java.util.ArrayList]<br>
     *
     * @return フィールド[crossReferenceKeys]に格納されている値
     */
    public ArrayList getCrossReferenceKeys() {
        return fCrossReferenceKeys;
    }

    /**
     * このバリューオブジェクトの文字列表現を取得します。
     *
     * オブジェクトのシャロー範囲でしかtoStringされない点に注意して利用してください。
     *
     * @return バリューオブジェクトの文字列表現。
     */
    public String toString() {
        final StringBuffer buf = new StringBuffer();
        buf.append("blanco.dbmetadata.valueobject.BlancoDbMetaDataTableStructure[");
        buf.append("NAME=" + fName);
        buf.append(",TYPE=" + fType);
        buf.append(",CATALOG=" + fCatalog);
        buf.append(",SCHEMA=" + fSchema);
        buf.append(",REMARKS=" + fRemarks);
        buf.append(",columns=" + fColumns);
        buf.append(",primaryKeys=" + fPrimaryKeys);
        buf.append(",importedKeys=" + fImportedKeys);
        buf.append(",exportedKeys=" + fExportedKeys);
        buf.append(",crossReferenceKeys=" + fCrossReferenceKeys);
        buf.append("]");
        return buf.toString();
    }
}
