/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*   システム名      ：eo顧客基幹システム
*   モジュール名    ：JCCSearchRestrictionCache
*   ソースファイル名：JCCSearchRestrictionCache.java
*   作成者          ：富士通
*   日付            ：2011年04月19日
*＜機能概要＞
*   検索定義ファイルキャッシュ部品です。
*＜修正履歴＞
*   バージョン  修正日       修正者      修正内容
*   v1.00.00    2011/04/19   FJ）山下    新規作成
*
**********************************************************************/

package eo.web.webview.common;

import com.fujitsu.futurity.common.JCMPropertyCache;

public class JCCSearchRestrictionCache extends JCMPropertyCache {

	/**
	 * アプリケーションプロパティファイルから、検索定義ファイルのパスと文字エンコーディングを取得し、
	 * シングルトンでインスタンス化したクラスに設定します。
	 */
	public static void setPath() {
		// アプリケーションプロパティファイルから検索定義ファイルのパスを取得
		String RESTRICTION_FILE_PATH = JCCWebCommon.getApplicationConst("SEARCH_FILE_PATH");
		// アプリケーションプロパティファイルから文字エンコード種別を取得
		String RESTRICTION_FILE_ENCODING = JCCWebCommon.getApplicationConst("SEARCH_FILE_ENCODING");
		
		// シングルトンでインスタンス化
		JCCSearchRestrictionCache rc = JCCSearchRestrictionCache.getInstance();
		
		// 検索定義ファイルのパスをインスタンスに設定
		rc.PATH = RESTRICTION_FILE_PATH;
		// 文字エンコーディングをインスタンスに設定
		rc.ENCODING = RESTRICTION_FILE_ENCODING;
	}
	
	/** 検索定義ファイルキャッシュクラスのインスタンス */
	private static JCCSearchRestrictionCache prop = null;
	
	/**
	 * 検索定義ファイルキャッシュクラスのインスタンスを取得します。
	 * @return 検索定義ファイルキャッシュクラスのインスタンス
	 */
	private static JCCSearchRestrictionCache getInstance() {
		
		if (prop == null) {
			prop = new JCCSearchRestrictionCache();
		}
		
		return prop;
	}
	
	/**
	 * 
	 * setPathメソッドで指定したプロパティファイルから、指定したキーで値を取得します。
	 * 
	 * @param key setPathメソッドで指定したプロパティファイルのキー項目
	 * @return 指定したキーに対応する値
	 * @throws Exception
	 */
	public static String getValue(String key) throws Exception {
		// 親クラスのgetValuePropで返却
		return JCCSearchRestrictionCache.getInstance().getValueProp(key);
	}
}
