package jp.cssj.cti.resolver;

import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * リソースの要求先です。
 * 
 * @author <a href="mailto:miyabe at gnn.co.jp">MIYABE Tatsuhiko</a>
 * @version $Id: SourceResolver.java,v 1.3 2005/08/18 04:51:26 harumanx Exp $
 */
public interface SourceResolver {
	/**
	 * URIで表されるリソースを返します。 効率よく処理するためにresolveで取得したリソースはreleaseで返還してください。
	 * 
	 * @param uri
	 * @return リソースの入力元。
	 * @throws IOException
	 * @throws FileNotFoundException
	 *             リソースが見つからなかった場合。
	 */
	public Source resolve(String uri) throws IOException;

	/**
	 * リソースを返還します。
	 * 
	 * @param source
	 */
	public void release(Source source);
}
