package jp.sourceforge.cfneo.at4ie.api;

import java.util.HashMap;
import java.util.Map;

/**
 * 各種設定を定義する為の抽象クラス。
 * @author imaitakafumi
 *
 */
public abstract class Context {

	private Map<String, String> storeMap;

	/**
	 * コンストラクタ。
	 */
	public Context() {
		this.storeMap = new HashMap<String, String>();
	}

	/**
	 * テストケースが記載されたファイルの読み込み開始行を定義する。
	 * @return
	 */
	public int getStartRow() {
		return 1;
	}

	/**
	 * InvokerFactoryを取得する。
	 * @return
	 */
	abstract public InvokerFactory getInvokerFactory();

	/**
	 * コンテキストの保存領域に値を設定する。
	 * @param key
	 * @param value
	 */
	public void setValue(String key, String value) {
		this.storeMap.put(key, value);
	}
	/**
	 * コンテキストの保存領域から値を取得する。
	 * @param key
	 * @return
	 */
	public String getValue(String key) {
		return this.storeMap.get(key);
	}
	/**
	 * コンテキストの保存領域を初期化する。
	 */
	public void clearStorage() {
		this.storeMap = new HashMap<String, String>();
	}

	/**
	 * テスト終了後にブラウザを閉じる(true)かそのままとする(false)かを定義する。
	 * @return
	 */
	public boolean isClose() {
		return true;
	}

}
