/*********************************************************************
* All Rights reserved,Copyright (c) K-Opticom
**********************************************************************
*＜プログラム内容＞
*	システム名		：eo顧客基幹システム
*	モジュール名	：JKKCtrlTobilaInfo
*	ソースファイル名：JKKCtrlTobilaInfo.java
*	作成者			：FJ）中原
*	日付			：2020年06月15日
*＜機能概要＞
*	トビラシステムズ社 外部連携（抽象）コマンド発行部品です。
*＜修正履歴＞
*	バージョン	修正日		修正者		修正内容
*	v50.00.00	2020/06/15  FJ)中原		【ANK-3754-00-00】トビラフォン対応
*
**********************************************************************/
package eo.common.util;

import java.util.Map;

import com.fujitsu.futurity.model.common.JCMAPLConstMgr;

/**
 * トビラシステムズ社連携独自処理部品クラスです。
 * @author FJ
 */
public abstract class JKKCtrlTobilaInfo
{
	/**
	 * 1:トビラシステムズ社連携（本番モード）
	 */
	private static final String TOBILA_SYSTEM = "1";

	/**
	 * 2:スタブモード
	 */
	private static final String TOBILA_STUB = "2";


	/**
	 * トビラシステムズ社連携の本番／スタブ切り替え処理
	 * 
	 * @return インスタンス
	 */
	public static JKKCtrlTobilaInfo getInstance()
	{
		/**
		 * トビラシステムズ社接続モードフラグ
		 */
		
		String mode = JCMAPLConstMgr.getString("KK_TOBILA_MODE");

		if (mode.equals(TOBILA_SYSTEM))
		{
			return new JKKCtrlTobilaInfoImpl();
		}
		else if(mode.equals(TOBILA_STUB))
		{
			return new JKKCtrlTobilaInfoStubImpl();
		}
		else
		{
			return null;
		}
	}

	/**
	 * トビラシステムズ依頼を呼び出します。
	 * <br>
	 * @param serviceMap サービスマップハッシュテーブル
	 * @return サービスマップ戻り値
	 * @throws Exception
	 */
	public abstract Map<String, Object> call_tobila(Map<String, Object> serviceMap) throws Exception;

}
