package com.brilliance.isc.doc.handle;

import com.brilliance.isc.common.trndoc.vo.DoceotVo;
import com.brilliance.isc.common.doc.TextResultVo;

import java.util.Map;

/**
 * 国结面函报文面函支持抽象接口
 * 一个面函往往可以支持切换
 * 代表
 */
public interface ITextProvider<T> {


    /**
     * 当前提供的面函模板名称
     * @return
     */
    String getDocName();


    /**
     * 输出报文结果
     * @param dataBo 数据
     * @param doceotVo 单条面函信息
     * @param extraData 附加的数据
     * @return
     */
    TextResultVo outputMessage(T dataBo, DoceotVo doceotVo, Map<String,Object> extraData);

}
