package com.baidu.disconf.client.store; import java.util.List; import java.util.Set; import com.baidu.disconf.client.common.model.DisConfCommonModel; import com.baidu.disconf.client.common.model.DisconfCenterBaseModel; import com.baidu.disconf.client.common.update.IDisconfUpdate; import com.baidu.disconf.client.store.processor.model.DisconfValue; /** * 仓库算子 * * @author liaoqiqi * @version 2014-8-4 */ public interface DisconfStoreProcessor { /** * 获取指定配置Data */ DisconfCenterBaseModel getConfData(String key); /** * 获取所有配置Key列表 */ Set<String> getConfKeySet(); /** * 增加回调函数 */ void addUpdateCallbackList(String keyName, List<IDisconfUpdate> iDisconfUpdateList); /** * 获取回调函数列表 */ List<IDisconfUpdate> getUpdateCallbackList(String keyName); /** * 获取配置的通用数据结构 */ DisConfCommonModel getCommonModel(String keyName); /** * 是否有这个配置 */ boolean hasThisConf(String keyName); /** * 将对象object中的数据注入配置中 */ void inject2Instance(Object object, String keyName); /** * 当是配置文件时,有两个参数<br/> * 当是配置项时,只有一个参数 ,第二个参数忽略 */ Object getConfig(String fileName, String keyName); /** * 将配置数据注入到仓库 */ void inject2Store(String fileName, DisconfValue disconfValue); /** * 批量添加配置 */ void transformScanData(List<DisconfCenterBaseModel> disconfCenterBaseModels); /** * 添加配置 */ void transformScanData(DisconfCenterBaseModel disconfCenterBaseModel); /** * 获取配置仓库的表示 */ String confToString(); /** * 排除某个配置 */ void exclude(Set<String> keySet); }