package com.zt.plat.module.base.service.doctemplate.render;

import java.util.Map;

/**
 * 文档模板数据源提供者接口（策略模式）
 * 所有数据源实现都遵循此接口
 *
 * @author hwc
 */
public interface IDataSourceProvider {

    /**
     * 获取指定字段的值
     *
     * @param context    上下文信息（内容因数据源类型而异）
     * @param fieldNames 需要获取的字段名列表
     * @return 字段值映射表
     */
    Map<String, Object> getData(Object context, java.util.List<String> fieldNames);

    /**
     * 获取此数据源的类型
     *
     * @return 数据源类型
     */
    DocTemplateDataSourceType getType();
}