/*
 * MockService.java
 * Copyright (C) 2008 Cyber Beans Corporation. All rights reserved.
 */
package jp.co.cybec.cb3.mock.container.service;

import jp.co.cybec.cb3.accessor.DataAccessContext;
import jp.co.cybec.cb3.container.service.Service;
import jp.co.cybec.cb3.session.RuntimeParameters;
import jp.co.cybec.cb3.session.ServiceParameters;

/**
 * サービスのモック。
 * @author Naoko Sugimoto
 */
public class MockService implements Service {

	private boolean executed = false;

	/** データアクセスコンテキスト */
	private DataAccessContext dataAccessContext = null;

	/**
	 * データアクセスコンテキストを設定します。
	 * @param dataAccessContext データアクセスコンテキスト
	 */
	public void setDataAccessContext(DataAccessContext dataAccessContext) {
		this.dataAccessContext = dataAccessContext;
	}

	/**
	 * データアクセスコンテキストを返します。
	 * @return データアクセスコンテキスト
	 */
	public DataAccessContext getDataAccessContext() {
		return dataAccessContext;
	}

	/**
	 * サービスを実行するメソッドです。
	 * このモックでは、常に0を返します。
	 * @param serviceParameters サービスパラメータ。
	 * @param runtimeParameters 起動パラメータ。
	 * @return 実行結果。
	 */
	public int callService(ServiceParameters serviceParameters, RuntimeParameters runtimeParameters) {
		executed = true;
		return 0;
	}

	/**
	 * callService()が呼ばれているかどうかを判定します。
	 * @return callService()が呼ばれている場合はtrue、呼ばれていない場合はfalseを返します。
	 */
	public boolean isExecuted() {
		return executed;
	}
}
