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

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

    /**
     * フィールド [DATA_TYPE]
     *
     * 項目の型 [int]<br>
     * メタ情報の DATA_TYPE。java.sql.Types。取得される値はshortだが、java.sql.Types がintであるので intで記憶します。
     */
    private int fDataType;

    /**
     * フィールド [DATA_TYPE_DISPLAY_NAME]
     *
     * 項目の型 [java.lang.String]<br>
     * DATA_TYPEを表示可能な文字に読み替えたもの。[java.sql.Types.] を除いた文字列が格納されます。
     */
    private String fDataTypeDisplayName;

    /**
     * フィールド [TYPE_NAME]
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TYPE_NAME。データソース依存の型名。
     */
    private String fTypeName;

    /**
     * フィールド [COLUMN_SIZE]
     *
     * 項目の型 [int]<br>
     * メタ情報の COLUMN_SIZE。列サイズ。char や date は最大文字数。numeric や decimal 精度。
     */
    private int fColumnSize;

    /**
     * フィールド [BUFFER_LENGTH]
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の BUFFER_LENGTH。未使用。
     */
    private String fBufferLength;

    /**
     * フィールド [DECIMAL_DIGITS]
     *
     * 項目の型 [int]<br>
     * メタ情報の DECIMAL_DIGITS。小数点以下の桁数。
     */
    private int fDecimalDigits;

    /**
     * フィールド [NUM_PREC_RADIX]
     *
     * 項目の型 [int]<br>
     * メタ情報の NUM_PREC_RADIX。基数 (通常は、10 または 2 のどちらか)
     */
    private int fNumPrecRadix;

    /**
     * フィールド [NULLABLE]
     *
     * 項目の型 [int]<br>
     * 規定値   [1]<br>
     * メタ情報の NULLABLE。NULL は許されるかどうか。columnNoNulls、columnNullable、columnNullableUnknownのいずれかの値。デフォルトは columnNullable (1)
     */
    private int fNullable = 1;

    /**
     * フィールド [NULLABLE_DISPLAY_NAME]
     *
     * 項目の型 [java.lang.String]<br>
     * NULLABLEを表示可能な文字に読み替えたもの。[java.sql.ResultSetMetaData.] を除いた文字列が格納されます。
     */
    private String fNullableDisplayName;

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

    /**
     * フィールド [COLUMN_DEF]
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の COLUMN_DEF。列のデフォルト値。
     */
    private String fColumnDef;

    /**
     * フィールド [SQL_DATA_TYPE]
     *
     * 項目の型 [int]<br>
     * メタ情報の SQL_DATA_TYPE。未使用。
     */
    private int fSqlDataType;

    /**
     * フィールド [SQL_DATETIME_SUB]
     *
     * 項目の型 [int]<br>
     * メタ情報の SQL_DATETIME_SUB。未使用。
     */
    private int fSqlDatetimeSub;

    /**
     * フィールド [CHAR_OCTET_LENGTH]
     *
     * 項目の型 [int]<br>
     * メタ情報の CHAR_OCTET_LENGTH。char型は列の最大バイト数。
     */
    private int fCharOctetLength;

    /**
     * フィールド [ORDINAL_POSITION]
     *
     * 項目の型 [int]<br>
     * メタ情報の ORDINAL_POSITION。テーブル中の列インデックス (1オリジン)
     */
    private int fOrdinalPosition;

    /**
     * フィールド [IS_NULLABLE]
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の IS_NULLABLE。使用は推奨されません。
     */
    private String fIsNullable;

    /**
     * フィールド [SCOPE_CATLOG]
     *
     * 項目の型 [java.lang.String]<br>
     * SCOPE_CATLOG
     */
    private String fScopeCatlog;

    /**
     * フィールド [SCOPE_SCHEMA]
     *
     * 項目の型 [java.lang.String]<br>
     * SCOPE_SCHEMA
     */
    private String fScopeSchema;

    /**
     * フィールド [SCOPE_TABLE]
     *
     * 項目の型 [java.lang.String]<br>
     * SCOPE_TABLE
     */
    private String fScopeTable;

    /**
     * フィールド [SOURCE_DATA_TYPE]
     *
     * 項目の型 [int]<br>
     * SOURCE_DATA_TYPE
     */
    private int fSourceDataType;

    /**
     * フィールド [WRITABLE]
     *
     * 項目の型 [boolean]<br>
     * SQL実行: その列が書き込み可能であるかどうか。(通常のメタ情報からは得られません。)
     */
    private boolean fWritable;

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

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

    /**
     * フィールド [DATA_TYPE]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の DATA_TYPE。java.sql.Types。取得される値はshortだが、java.sql.Types がintであるので intで記憶します。
     *
     * @param argDataType フィールド[DATA_TYPE]に格納したい値
     */
    public void setDataType(final int argDataType) {
        fDataType = argDataType;
    }

    /**
     * フィールド[DATA_TYPE]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の DATA_TYPE。java.sql.Types。取得される値はshortだが、java.sql.Types がintであるので intで記憶します。
     *
     * @return フィールド[DATA_TYPE]に格納されている値
     */
    public int getDataType() {
        return fDataType;
    }

    /**
     * フィールド [DATA_TYPE_DISPLAY_NAME]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * DATA_TYPEを表示可能な文字に読み替えたもの。[java.sql.Types.] を除いた文字列が格納されます。
     *
     * @param argDataTypeDisplayName フィールド[DATA_TYPE_DISPLAY_NAME]に格納したい値
     */
    public void setDataTypeDisplayName(final String argDataTypeDisplayName) {
        fDataTypeDisplayName = argDataTypeDisplayName;
    }

    /**
     * フィールド[DATA_TYPE_DISPLAY_NAME]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * DATA_TYPEを表示可能な文字に読み替えたもの。[java.sql.Types.] を除いた文字列が格納されます。
     *
     * @return フィールド[DATA_TYPE_DISPLAY_NAME]に格納されている値
     */
    public String getDataTypeDisplayName() {
        return fDataTypeDisplayName;
    }

    /**
     * フィールド [TYPE_NAME]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TYPE_NAME。データソース依存の型名。
     *
     * @param argTypeName フィールド[TYPE_NAME]に格納したい値
     */
    public void setTypeName(final String argTypeName) {
        fTypeName = argTypeName;
    }

    /**
     * フィールド[TYPE_NAME]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の TYPE_NAME。データソース依存の型名。
     *
     * @return フィールド[TYPE_NAME]に格納されている値
     */
    public String getTypeName() {
        return fTypeName;
    }

    /**
     * フィールド [COLUMN_SIZE]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の COLUMN_SIZE。列サイズ。char や date は最大文字数。numeric や decimal 精度。
     *
     * @param argColumnSize フィールド[COLUMN_SIZE]に格納したい値
     */
    public void setColumnSize(final int argColumnSize) {
        fColumnSize = argColumnSize;
    }

    /**
     * フィールド[COLUMN_SIZE]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の COLUMN_SIZE。列サイズ。char や date は最大文字数。numeric や decimal 精度。
     *
     * @return フィールド[COLUMN_SIZE]に格納されている値
     */
    public int getColumnSize() {
        return fColumnSize;
    }

    /**
     * フィールド [BUFFER_LENGTH]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の BUFFER_LENGTH。未使用。
     *
     * @param argBufferLength フィールド[BUFFER_LENGTH]に格納したい値
     */
    public void setBufferLength(final String argBufferLength) {
        fBufferLength = argBufferLength;
    }

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

    /**
     * フィールド [DECIMAL_DIGITS]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の DECIMAL_DIGITS。小数点以下の桁数。
     *
     * @param argDecimalDigits フィールド[DECIMAL_DIGITS]に格納したい値
     */
    public void setDecimalDigits(final int argDecimalDigits) {
        fDecimalDigits = argDecimalDigits;
    }

    /**
     * フィールド[DECIMAL_DIGITS]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の DECIMAL_DIGITS。小数点以下の桁数。
     *
     * @return フィールド[DECIMAL_DIGITS]に格納されている値
     */
    public int getDecimalDigits() {
        return fDecimalDigits;
    }

    /**
     * フィールド [NUM_PREC_RADIX]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の NUM_PREC_RADIX。基数 (通常は、10 または 2 のどちらか)
     *
     * @param argNumPrecRadix フィールド[NUM_PREC_RADIX]に格納したい値
     */
    public void setNumPrecRadix(final int argNumPrecRadix) {
        fNumPrecRadix = argNumPrecRadix;
    }

    /**
     * フィールド[NUM_PREC_RADIX]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の NUM_PREC_RADIX。基数 (通常は、10 または 2 のどちらか)
     *
     * @return フィールド[NUM_PREC_RADIX]に格納されている値
     */
    public int getNumPrecRadix() {
        return fNumPrecRadix;
    }

    /**
     * フィールド [NULLABLE]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の NULLABLE。NULL は許されるかどうか。columnNoNulls、columnNullable、columnNullableUnknownのいずれかの値。デフォルトは columnNullable (1)
     *
     * @param argNullable フィールド[NULLABLE]に格納したい値
     */
    public void setNullable(final int argNullable) {
        fNullable = argNullable;
    }

    /**
     * フィールド[NULLABLE]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * 規定値   [1]<br>
     * メタ情報の NULLABLE。NULL は許されるかどうか。columnNoNulls、columnNullable、columnNullableUnknownのいずれかの値。デフォルトは columnNullable (1)
     *
     * @return フィールド[NULLABLE]に格納されている値
     */
    public int getNullable() {
        return fNullable;
    }

    /**
     * フィールド [NULLABLE_DISPLAY_NAME]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * NULLABLEを表示可能な文字に読み替えたもの。[java.sql.ResultSetMetaData.] を除いた文字列が格納されます。
     *
     * @param argNullableDisplayName フィールド[NULLABLE_DISPLAY_NAME]に格納したい値
     */
    public void setNullableDisplayName(final String argNullableDisplayName) {
        fNullableDisplayName = argNullableDisplayName;
    }

    /**
     * フィールド[NULLABLE_DISPLAY_NAME]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * NULLABLEを表示可能な文字に読み替えたもの。[java.sql.ResultSetMetaData.] を除いた文字列が格納されます。
     *
     * @return フィールド[NULLABLE_DISPLAY_NAME]に格納されている値
     */
    public String getNullableDisplayName() {
        return fNullableDisplayName;
    }

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

    /**
     * フィールド [COLUMN_DEF]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の COLUMN_DEF。列のデフォルト値。
     *
     * @param argColumnDef フィールド[COLUMN_DEF]に格納したい値
     */
    public void setColumnDef(final String argColumnDef) {
        fColumnDef = argColumnDef;
    }

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

    /**
     * フィールド [SQL_DATA_TYPE]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の SQL_DATA_TYPE。未使用。
     *
     * @param argSqlDataType フィールド[SQL_DATA_TYPE]に格納したい値
     */
    public void setSqlDataType(final int argSqlDataType) {
        fSqlDataType = argSqlDataType;
    }

    /**
     * フィールド[SQL_DATA_TYPE]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の SQL_DATA_TYPE。未使用。
     *
     * @return フィールド[SQL_DATA_TYPE]に格納されている値
     */
    public int getSqlDataType() {
        return fSqlDataType;
    }

    /**
     * フィールド [SQL_DATETIME_SUB]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の SQL_DATETIME_SUB。未使用。
     *
     * @param argSqlDatetimeSub フィールド[SQL_DATETIME_SUB]に格納したい値
     */
    public void setSqlDatetimeSub(final int argSqlDatetimeSub) {
        fSqlDatetimeSub = argSqlDatetimeSub;
    }

    /**
     * フィールド[SQL_DATETIME_SUB]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の SQL_DATETIME_SUB。未使用。
     *
     * @return フィールド[SQL_DATETIME_SUB]に格納されている値
     */
    public int getSqlDatetimeSub() {
        return fSqlDatetimeSub;
    }

    /**
     * フィールド [CHAR_OCTET_LENGTH]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の CHAR_OCTET_LENGTH。char型は列の最大バイト数。
     *
     * @param argCharOctetLength フィールド[CHAR_OCTET_LENGTH]に格納したい値
     */
    public void setCharOctetLength(final int argCharOctetLength) {
        fCharOctetLength = argCharOctetLength;
    }

    /**
     * フィールド[CHAR_OCTET_LENGTH]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の CHAR_OCTET_LENGTH。char型は列の最大バイト数。
     *
     * @return フィールド[CHAR_OCTET_LENGTH]に格納されている値
     */
    public int getCharOctetLength() {
        return fCharOctetLength;
    }

    /**
     * フィールド [ORDINAL_POSITION]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の ORDINAL_POSITION。テーブル中の列インデックス (1オリジン)
     *
     * @param argOrdinalPosition フィールド[ORDINAL_POSITION]に格納したい値
     */
    public void setOrdinalPosition(final int argOrdinalPosition) {
        fOrdinalPosition = argOrdinalPosition;
    }

    /**
     * フィールド[ORDINAL_POSITION]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * メタ情報の ORDINAL_POSITION。テーブル中の列インデックス (1オリジン)
     *
     * @return フィールド[ORDINAL_POSITION]に格納されている値
     */
    public int getOrdinalPosition() {
        return fOrdinalPosition;
    }

    /**
     * フィールド [IS_NULLABLE]のセッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の IS_NULLABLE。使用は推奨されません。
     *
     * @param argIsNullable フィールド[IS_NULLABLE]に格納したい値
     */
    public void setIsNullable(final String argIsNullable) {
        fIsNullable = argIsNullable;
    }

    /**
     * フィールド[IS_NULLABLE]のゲッターメソッド
     *
     * 項目の型 [java.lang.String]<br>
     * メタ情報の IS_NULLABLE。使用は推奨されません。
     *
     * @return フィールド[IS_NULLABLE]に格納されている値
     */
    public String getIsNullable() {
        return fIsNullable;
    }

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

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

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

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

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

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

    /**
     * フィールド [SOURCE_DATA_TYPE]のセッターメソッド
     *
     * 項目の型 [int]<br>
     * SOURCE_DATA_TYPE
     *
     * @param argSourceDataType フィールド[SOURCE_DATA_TYPE]に格納したい値
     */
    public void setSourceDataType(final int argSourceDataType) {
        fSourceDataType = argSourceDataType;
    }

    /**
     * フィールド[SOURCE_DATA_TYPE]のゲッターメソッド
     *
     * 項目の型 [int]<br>
     * SOURCE_DATA_TYPE
     *
     * @return フィールド[SOURCE_DATA_TYPE]に格納されている値
     */
    public int getSourceDataType() {
        return fSourceDataType;
    }

    /**
     * フィールド [WRITABLE]のセッターメソッド
     *
     * 項目の型 [boolean]<br>
     * SQL実行: その列が書き込み可能であるかどうか。(通常のメタ情報からは得られません。)
     *
     * @param argWritable フィールド[WRITABLE]に格納したい値
     */
    public void setWritable(final boolean argWritable) {
        fWritable = argWritable;
    }

    /**
     * フィールド[WRITABLE]のゲッターメソッド
     *
     * 項目の型 [boolean]<br>
     * SQL実行: その列が書き込み可能であるかどうか。(通常のメタ情報からは得られません。)
     *
     * @return フィールド[WRITABLE]に格納されている値
     */
    public boolean getWritable() {
        return fWritable;
    }

    /**
     * このバリューオブジェクトの文字列表現を取得します。
     *
     * オブジェクトのシャロー範囲でしかtoStringされない点に注意して利用してください。
     *
     * @return バリューオブジェクトの文字列表現。
     */
    public String toString() {
        final StringBuffer buf = new StringBuffer();
        buf.append("blanco.dbmetadata.valueobject.BlancoDbMetaDataColumnStructure[");
        buf.append("NAME=" + fName);
        buf.append(",DATA_TYPE=" + fDataType);
        buf.append(",DATA_TYPE_DISPLAY_NAME=" + fDataTypeDisplayName);
        buf.append(",TYPE_NAME=" + fTypeName);
        buf.append(",COLUMN_SIZE=" + fColumnSize);
        buf.append(",BUFFER_LENGTH=" + fBufferLength);
        buf.append(",DECIMAL_DIGITS=" + fDecimalDigits);
        buf.append(",NUM_PREC_RADIX=" + fNumPrecRadix);
        buf.append(",NULLABLE=" + fNullable);
        buf.append(",NULLABLE_DISPLAY_NAME=" + fNullableDisplayName);
        buf.append(",REMARKS=" + fRemarks);
        buf.append(",COLUMN_DEF=" + fColumnDef);
        buf.append(",SQL_DATA_TYPE=" + fSqlDataType);
        buf.append(",SQL_DATETIME_SUB=" + fSqlDatetimeSub);
        buf.append(",CHAR_OCTET_LENGTH=" + fCharOctetLength);
        buf.append(",ORDINAL_POSITION=" + fOrdinalPosition);
        buf.append(",IS_NULLABLE=" + fIsNullable);
        buf.append(",SCOPE_CATLOG=" + fScopeCatlog);
        buf.append(",SCOPE_SCHEMA=" + fScopeSchema);
        buf.append(",SCOPE_TABLE=" + fScopeTable);
        buf.append(",SOURCE_DATA_TYPE=" + fSourceDataType);
        buf.append(",WRITABLE=" + fWritable);
        buf.append("]");
        return buf.toString();
    }
}
