package com.artfess.bo.instance; import java.io.IOException; import java.util.List; import java.util.Map; import com.artfess.base.query.PageList; import com.artfess.base.query.QueryFilter; import com.artfess.bo.model.BoData; import com.artfess.bo.model.BoResult; /** * bo实例数据处理器 * * @author heyifan * @company 阿特菲斯信息技术有限公司 * @email heyf@jee-soft.cn * @date 2018年4月12日 */ public interface BoDataHandler { /** * 保存bo数据 * * @param id 主键 * @param defId bo定义ID * @param curData bo数据 * @return 保存结果 */ List save(String id, String defId, BoData curData) throws IOException; /** * 根据实例ID和bo定义alias获取bo数据(最多返回两层) *
     * 1.根据bodefAlias获取bo定义;
     * 2.根据bo定义和ID获取数据。
     * 
* * @param id bo数据主键 * @param bodefAlias bo定义的别名 * @return bo数据 */ BoData getById(Object id, String bodefAlias) throws IOException; /** * 根据实例ID和bo定义alias获取bo数据(不限层级) *
     * 1.根据bodefAlias获取bo定义;
     * 2.根据bo定义和ID获取数据。
     * 
* * @param id bo数据主键 * @param bodefAlias bo定义别名 * @return bo数据 */ BoData getResById(Object id, String bodefAlias) throws IOException; /** * 根据bo定义别名返回 bo数据对象实例 * * @param bodefAlias bo定义别名 * @return bo数据 */ BoData getByBoDefAlias(String bodefAlias); /** * 获取存储方式 * * @return 存储方式 */ String saveType(); /** * 通过bo定义别名和bo数据主键集合删除数据 * * @param bodefAlias bo定义别名 * @param aryIds bo数据主键集合 */ void removeBoData(String bodefAlias, String[] aryIds); /** * 通过bo定义别名和查询参数获取bo数据列表(不分页) * * @param bodefAlias bo定义别名 * @param param 查询参数(可为空) * @return bo数据列表 */ List> getList(String bodefAlias, Map param); /** * 通过bo定义别名和查询参数获取bo数据列表(分页) * * @param bodefAlias bo定义别名 * @param queryFilter 通用查询条件 * @return bo数据列表(分页) */ PageList> getList(String bodefAlias, QueryFilter queryFilter); BoData getByBoDefCode(String bodefCode); }