/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JCCbatMojiChgRuleCache
*   ソースファイル名：JCCbatMojiChgRuleCache.java
*   作成者          ：富士通
*   日付            ：2011年06月01日
*＜機能概要＞
*   文字変換リファレンス定義及び文字変換ルールファイルキャッシュ部品です
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/06/01   EK)909308    新規作成
*
**********************************************************************/

package eo.business.common;

import java.util.HashMap;

import com.fujitsu.futurity.common.JCMCharConvRuleCache;
import eo.business.common.JCCBatCommon;



/**
 * 文字変換ルール定義ファイルの読み込みを行うクラス。<p>
 * <BR>
 * @author 富士通
 */
public class JCCbatMojiChgRuleCache extends JCMCharConvRuleCache
{	
	/** システム共通ID */
	static final String COMMON_ID = "PC";
	
	/**
	 * アプリケーションプロパティファイルから、文字変換ルール定義ファイルのパス
	 * 及び文字エンコード種別を取得し、シングルトンでインスタンス化します。
	 * 
	 * @param
	 * @return なし
	 */	
	public static void setPath()
	{
    	//アプリケーションプロパティファイルからアップロード定義ファイルのパスと文字エンコード種別を取得
		String restFilePath = JCCBatCommon.getApplicationConst("MOJI_CHG_RULE_FILE_PATH");
		String restFileEncode = JCCBatCommon.getApplicationConst("MOJI_CHG_RULE_FILE_ENCODING");

		//シングルトンでインスタンス化
		JCCbatMojiChgRuleCache rc = JCCbatMojiChgRuleCache.getInstance();
		rc.PATH = restFilePath;
		rc.ENCODING = restFileEncode;
	}

	/** インスタンス領域 */
	private static JCCbatMojiChgRuleCache prop = null;

	/**
	 * インスタンス生成メソッド
	 * 
	 * @param
	 * @return prop
	 */	
	private static JCCbatMojiChgRuleCache getInstance()
	{
		if(prop == null)
		{
			prop = new JCCbatMojiChgRuleCache();
		}
		
		return prop;
	}
	
	/**
	 * キーで指定された文字変換ルール定義ファイル情報を取得します。
	 * 
	 * @param key 定義ファイル設定値に対応するキー
	 * @return キーに紐付けられた定義ファイル内の設定値を格納したHashMap
	 * @exception Exception
	 */
	public static HashMap<String, Object> getMap(String key) throws Exception
	{
		HashMap<String, Object> outMap = new HashMap<String, Object>();
		HashMap<String, Object> cacheMap = JCCbatMojiChgRuleCache.getInstance().getCacheMap();
		outMap = getRuleMap(cacheMap, COMMON_ID, key);
		
		return outMap;
	}
}
