/**
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2004 satoshi akabane(akabane@logical-paradox.org)
 *
 */
package org.logical_paradox.phalanx;

import javax.xml.bind.JAXBException;

import org.logical_paradox.phalanx.binding.condition.Condition;
import org.logical_paradox.phalanx.binding.resultset.ResultSet;


/**
 * 検索サービスのインターフェース
 * いくつかの種類の検索処理を実行する
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.5 $
 */
public interface SearchLogic {
	/**
	 * 検索を実行する
	 * @param condition 検索条件
	 * @param configDir コンフィグファイルを格納したディレクトリ
	 * @return 検索結果セット
	 * @throws SearchException 検索に失敗した際の例外
	 */
	public ResultSet search(Condition condition, String configDir) throws SearchException, JAXBException;
	/**
	 * 検索ロジックの識別子を返す
	 * @return 識別子
	 */
	public String getLogicIdentifier();
}
