/**
*
*/
package com.taobao.top.analysis.statistics;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import com.taobao.top.analysis.config.SlaveConfig;
import com.taobao.top.analysis.node.IComponent;
import com.taobao.top.analysis.node.io.IInputAdaptor;
import com.taobao.top.analysis.node.io.IOutputAdaptor;
import com.taobao.top.analysis.node.job.JobTask;
import com.taobao.top.analysis.node.job.JobTaskResult;
/**
* 每个计算节点的抽象接口,可以植入多种输入适配器,输出适配器
* 执行任务时,根据输入适配器获得数据来源,然后根据任务自我业务分析规则分析数据,
* 最后根据输出适配器来输出到外部一个或者多个数据输出点
*
* @author fangweng
* @Email fangweng@taobao.com
* 2011-11-24
*
*/
public interface IStatisticsEngine extends IComponent<SlaveConfig>{
public void addInputAdaptor(IInputAdaptor inputAdaptor);
public void removeInputAdaptor(IInputAdaptor inputAdaptor);
public void addOutputAdaptor(IOutputAdaptor outputAdaptor);
public void removeOutputAdaptor(IOutputAdaptor outputAdaptor);
public JobTaskResult doAnalysis(JobTask jobTask) throws UnsupportedEncodingException,IOException;
public void doExport(JobTask jobTask,JobTaskResult jobTaskResult);
}