/*
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2005 satoshi akabane(akabane@logical-paradox.org)
 * $Id: StubConcreteInterfaceFactory.java,v 1.1 2005/05/31 14:38:20 rampil Exp $
 */
package org.logical_paradox.koike.tools.isys;

import java.util.Iterator;

import org.logical_paradox.koike.core.ConcreteInterfaceFactory;
import org.logical_paradox.koike.core.document.DocumentAccessor;
import org.logical_paradox.koike.core.indexer.IndexAccessor;
import org.logical_paradox.koike.core.search.SearchConditionOptimizer;

/**
 * スタブ用の具象インターフェースファクトリ
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.1 $
 */
public class StubConcreteInterfaceFactory extends ConcreteInterfaceFactory {
	/** インデックスシステム(スタブ)用のアクセサ */
	private static final IndexAccessor indexAxsr = new StubIndexAccessor();
	/** ドキュメントシステム(スタブ)用のアクセサ */
	private static final DocumentAccessor documentAxsr = new StubDocumentAccessor();

	/**
	 * コンストラクタ
	 * @param param 初期化パラメータ
	 * @throws Exception 初期化に失敗した場合などに発生する例外
	 */
	public StubConcreteInterfaceFactory(String param) throws Exception {
		super(param);
	}

	/* (非 Javadoc)
	 * @see org.logical_paradox.koike.core.ConcreteInterfaceFactory#setup()
	 */
	public void setup() throws Exception {
		// TODO 自動生成されたメソッド・スタブ

	}

	/* (非 Javadoc)
	 * @see org.logical_paradox.koike.core.ConcreteInterfaceFactory#getDocumentAccessor()
	 */
	public DocumentAccessor getDocumentAccessor() throws Exception {
		return documentAxsr;
	}

	/**
	 * スタブシステム用のインターフェースを返す
	 * @return インターフェース(毎回同じインスタンスを返す)
	 */
	public IndexAccessor getIndexAccessor() throws Exception {
		return indexAxsr;
	}

	/* (非 Javadoc)
	 * @see org.logical_paradox.koike.core.ConcreteInterfaceFactory#getRemoteQueueIterator()
	 */
	public Iterator getRemoteQueueIterator() throws Exception {
		// TODO 自動生成されたメソッド・スタブ
		return null;
	}

	/**
	 * 検索条件最適化処理を返す
	 * @return 検索条件最適化処理(必要ないのでnullを返すだけ)
	 */
	public SearchConditionOptimizer getOptimizer() throws Exception {
		return null;
	}
}
