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