/*******************************************************************************
*	All Right reserved,Copyright (c) Fujitsu, 2010-2011
********************************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム構築
*	モジュール名	：CN0271ETMsg
*	ソースファイル名：CN0271ETMsg.java
*	作成者			：EK907043
*	日付			：2011年06月29日
*＜機能概要＞
*	CN0271ETMsgスキーマクラスです。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	ｖ1.00.00
*
********************************************************************************/

package eo.ejb.cbm.entity;

import java.util.HashMap;
import java.util.MissingResourceException;
import com.fujitsu.futurity.model.base.CAANSchemaInfo;

public class CN0271ETMsg extends CAANSchemaInfo {

    /**
     * DBテーブル名
     */
    private static final String TABLE_NAME = "CN_T_CCMG_ML_INF_WK";

    /**
     * DBカラム名対応表
     */
    private static final HashMap DBCOLUMN_MAP;

    /**
     * 内部スキーマ項目の配列
     */
    private static final Object[][] CONTENTS = {
        {"templateID", "String", null, null},  // サービスIF_ID
        {"eventID", "String", null, null},  // イベントＩＤ
        {"identifyCD", "String", null, null},  // 識別コード
        {"status", "int", null, null},  // ステータス
        {"operatorID", "String", null, null},  // オペレータ_ID
        {"operateDate", "String", null, null},  // 運用日付
        {"operateDatetime", "String", null, null},  // 運用日時
        {"ac_group_cd", "String", null, null},  // 権限制御用項目
        {"func_code", "String", null, null},  // 機能コード
        {"Mail_ID", "String", "MAIL_ID", PRIMARYKEY},  // メールＩＤ
        {"Mail_Template_ID", "String", "MAIL_TEMPLATE_ID", null},  // メールテンプレートＩＤ
        {"SendTo_UserID", "String", "SENDTO_USERID", null},  // 送信先ＳＹＳＩＤ
        {"SendTo_Mail_Address", "String", "SENDTO_MAIL_ADDRESS", null},  // 送信先メールアドレス
        {"SendTo_Eo_ID", "String", "SENDTO_EO_ID", null},  // 送信先ｅｏＩＤ
        {"SendFrom_ID", "String", "SENDFROM_ID", null},  // 送信先サービスグループＩＤ／コンテンツサービスＩＤ
        {"Division", "String", "DIVISION", null},  // 送信元区分
        {"Subject_Name", "String", "SUBJECT_NAME", null},  // 件名
        {"Text", "String", "TEXT", null},  // 本文
        {"Send_Flg", "String", "SEND_FLG", null},  // 送信フラグ
        {"Send_Date", "String", "SEND_DATE", null},  // 送信日時
        {"Create_Date", "String", "CREATE_DATE", null},  // 作成日時
        {"Create_ID", "String", "CREATE_ID", null},  // 作成者
        {"Update_Date", "String", "UPDATE_DATE", null},  // 更新日時
        {"Update_ID", "String", "UPDATE_ID", null},  // 更新者
        {"Mail_ID_err", "String", null, null},  // メールＩＤエラー
        {"Mail_Template_ID_err", "String", null, null},  // メールテンプレートＩＤエラー
        {"SendTo_UserID_err", "String", null, null},  // 送信先ＳＹＳＩＤエラー
        {"SendTo_Mail_Address_err", "String", null, null},  // 送信先メールアドレスエラー
        {"SendTo_Eo_ID_err", "String", null, null},  // 送信先ｅｏＩＤエラー
        {"SendFrom_ID_err", "String", null, null},  // 送信先サービスグループＩＤ／コンテンツサービスＩＤエラー
        {"Division_err", "String", null, null},  // 送信元区分エラー
        {"Subject_Name_err", "String", null, null},  // 件名エラー
        {"Text_err", "String", null, null},  // 本文エラー
        {"Send_Flg_err", "String", null, null},  // 送信フラグエラー
        {"Send_Date_err", "String", null, null},  // 送信日時エラー
        {"Create_Date_err", "String", null, null},  // 作成日時エラー
        {"Create_ID_err", "String", null, null},  // 作成者エラー
        {"Update_Date_err", "String", null, null},  // 更新日時エラー
        {"Update_ID_err", "String", null, null}  // 更新者エラー
    };

    /**
     * サービスIF_ID
     */
    public static final String TEMPLATEID;

    /**
     * イベントＩＤ
     */
    public static final String EVENTID;

    /**
     * 識別コード
     */
    public static final String IDENTIFYCD;

    /**
     * ステータス
     */
    public static final String STATUS;

    /**
     * オペレータ_ID
     */
    public static final String OPERATORID;

    /**
     * 運用日付
     */
    public static final String OPERATEDATE;

    /**
     * 運用日時
     */
    public static final String OPERATEDATETIME;

    /**
     * 権限制御用項目
     */
    public static final String AC_GROUP_CD;

    /**
     * 機能コード
     */
    public static final String FUNC_CODE;

    /**
     * メールＩＤ
     */
    public static final String MAIL_ID;

    /**
     * メールテンプレートＩＤ
     */
    public static final String MAIL_TEMPLATE_ID;

    /**
     * 送信先ＳＹＳＩＤ
     */
    public static final String SENDTO_USERID;

    /**
     * 送信先メールアドレス
     */
    public static final String SENDTO_MAIL_ADDRESS;

    /**
     * 送信先ｅｏＩＤ
     */
    public static final String SENDTO_EO_ID;

    /**
     * 送信先サービスグループＩＤ／コンテンツサービスＩＤ
     */
    public static final String SENDFROM_ID;

    /**
     * 送信元区分
     */
    public static final String DIVISION;

    /**
     * 件名
     */
    public static final String SUBJECT_NAME;

    /**
     * 本文
     */
    public static final String TEXT;

    /**
     * 送信フラグ
     */
    public static final String SEND_FLG;

    /**
     * 送信日時
     */
    public static final String SEND_DATE;

    /**
     * 作成日時
     */
    public static final String CREATE_DATE;

    /**
     * 作成者
     */
    public static final String CREATE_ID;

    /**
     * 更新日時
     */
    public static final String UPDATE_DATE;

    /**
     * 更新者
     */
    public static final String UPDATE_ID;

    /**
     * メールＩＤエラー
     */
    public static final String MAIL_ID_ERR;

    /**
     * メールテンプレートＩＤエラー
     */
    public static final String MAIL_TEMPLATE_ID_ERR;

    /**
     * 送信先ＳＹＳＩＤエラー
     */
    public static final String SENDTO_USERID_ERR;

    /**
     * 送信先メールアドレスエラー
     */
    public static final String SENDTO_MAIL_ADDRESS_ERR;

    /**
     * 送信先ｅｏＩＤエラー
     */
    public static final String SENDTO_EO_ID_ERR;

    /**
     * 送信先サービスグループＩＤ／コンテンツサービスＩＤエラー
     */
    public static final String SENDFROM_ID_ERR;

    /**
     * 送信元区分エラー
     */
    public static final String DIVISION_ERR;

    /**
     * 件名エラー
     */
    public static final String SUBJECT_NAME_ERR;

    /**
     * 本文エラー
     */
    public static final String TEXT_ERR;

    /**
     * 送信フラグエラー
     */
    public static final String SEND_FLG_ERR;

    /**
     * 送信日時エラー
     */
    public static final String SEND_DATE_ERR;

    /**
     * 作成日時エラー
     */
    public static final String CREATE_DATE_ERR;

    /**
     * 作成者エラー
     */
    public static final String CREATE_ID_ERR;

    /**
     * 更新日時エラー
     */
    public static final String UPDATE_DATE_ERR;

    /**
     * 更新者エラー
     */
    public static final String UPDATE_ID_ERR;

    /**
     * 静的初期化子です。
     * 項目名定数の値を設定します。
     * DBカラム名対応表を作成します。
     */
    static {
        TEMPLATEID = "templateID";
        EVENTID = "eventID";
        IDENTIFYCD = "identifyCD";
        STATUS = "status";
        OPERATORID = "operatorID";
        OPERATEDATE = "operateDate";
        OPERATEDATETIME = "operateDatetime";
        AC_GROUP_CD = "ac_group_cd";
        FUNC_CODE = "func_code";
        MAIL_ID = "Mail_ID";
        MAIL_TEMPLATE_ID = "Mail_Template_ID";
        SENDTO_USERID = "SendTo_UserID";
        SENDTO_MAIL_ADDRESS = "SendTo_Mail_Address";
        SENDTO_EO_ID = "SendTo_Eo_ID";
        SENDFROM_ID = "SendFrom_ID";
        DIVISION = "Division";
        SUBJECT_NAME = "Subject_Name";
        TEXT = "Text";
        SEND_FLG = "Send_Flg";
        SEND_DATE = "Send_Date";
        CREATE_DATE = "Create_Date";
        CREATE_ID = "Create_ID";
        UPDATE_DATE = "Update_Date";
        UPDATE_ID = "Update_ID";
        MAIL_ID_ERR = "Mail_ID_err";
        MAIL_TEMPLATE_ID_ERR = "Mail_Template_ID_err";
        SENDTO_USERID_ERR = "SendTo_UserID_err";
        SENDTO_MAIL_ADDRESS_ERR = "SendTo_Mail_Address_err";
        SENDTO_EO_ID_ERR = "SendTo_Eo_ID_err";
        SENDFROM_ID_ERR = "SendFrom_ID_err";
        DIVISION_ERR = "Division_err";
        SUBJECT_NAME_ERR = "Subject_Name_err";
        TEXT_ERR = "Text_err";
        SEND_FLG_ERR = "Send_Flg_err";
        SEND_DATE_ERR = "Send_Date_err";
        CREATE_DATE_ERR = "Create_Date_err";
        CREATE_ID_ERR = "Create_ID_err";
        UPDATE_DATE_ERR = "Update_Date_err";
        UPDATE_ID_ERR = "Update_ID_err";

        HashMap tmpMap = new HashMap();
        for (int i = 0; i < CONTENTS.length; i++) {
            if (CONTENTS[i][2] != null) {
                tmpMap.put(CONTENTS[i][0], CONTENTS[i][2]);
            }
        }
        DBCOLUMN_MAP = tmpMap;
    }

    /**
     * 項目の配列を取得します。
     * @return 項目の配列
     */
    public Object[][] getContents() {
        return CONTENTS;
    }

    /**
     * 項目の配列を取得します。
     * @return 項目の配列
     */
    public static Object[][] getSchemaContents() {
        return CONTENTS;
    }

    /**
     * DBテーブル名を取得します。
     * @return DBテーブル名
     */
    public static String getTableName() {
        return TABLE_NAME;
    }

    /**
     * 内部スキーマの項目名からDBカラム名を取得します。
     * @param msgName 内部スキーマ項目名
     * @return DBカラム名
     */
    public static String getDBColumnName(String msgName) {
        String clm = (String)DBCOLUMN_MAP.get(msgName);
        if (clm == null) {
            throw new MissingResourceException
                ("スキーマに該当項目のDBカラム名がありません", "CN0271ETMsg", msgName);
        }
        return clm;
    }

}
