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

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

/**
 * サービスのインタフェース。
 * @author Naoko Sugimoto
 */
public interface Service {

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

	/**
	 * データアクセスコンテキストを取得します。
	 * @return データアクセスコンテキスト
	 */
	DataAccessContext getDataAccessContext();

	/**
	 * サービスを実行します。
	 * @param serviceParameters サービスパラメータ。
	 * @param runtimeParameters 起動パラメータ。
	 * @return 実行結果。
	 */
	int callService(
			ServiceParameters serviceParameters, RuntimeParameters runtimeParameters);
}
