package jp.cssj.cti.transcoder;

import java.util.Properties;

import jp.cssj.cti.helpers.ContentBuilder;
import jp.cssj.cti.helpers.ErrorHandler;
import jp.cssj.cti.resolver.SourceResolver;

import org.xml.sax.ContentHandler;
import org.xml.sax.ext.LexicalHandler;

/**
 * @author <a href="mailto:miyabe at gnn.co.jp">MIYABE Tatsuhiko</a>
 * @version $Id: TranscoderHandler.java,v 1.4 2005/08/18 04:51:26 harumanx Exp $
 */
public interface TranscoderHandler extends ContentHandler, LexicalHandler {
	/**
	 * データの出力先を設定します。
	 * 
	 * @param builder
	 */
	public void setContentBuilder(ContentBuilder builder);

	/**
	 * リソースの要求先を設定します。
	 * 
	 * @param resolver
	 */
	public void setSourceResolver(SourceResolver resolver);

	/**
	 * 変換プロパティを設定します。
	 * 
	 * @param props
	 */
	public void setProperties(Properties props);

	/**
	 * エラーハンドラを設定します。
	 * 
	 * @param errorHandler
	 */
	public void setErrorHandler(ErrorHandler errorHandler);

	/**
	 * トランスコーダーをリセットして初期状態に戻します。
	 */
	public void reset();
}
