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

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 interface ServiceProvider {

	/**
	 * サービスを設定します。
	 * @param service サービス。
	 */
	void setService(Service service);

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

}
