Package org.qiunet.cfg.manager.base
Class BaseCfgManager<ID,Cfg extends ICfg<ID>>
java.lang.Object
org.qiunet.cfg.manager.base.BaseCfgManager<ID,Cfg>
- All Implemented Interfaces:
ICfgManager<ID,Cfg>
- Direct Known Subclasses:
NestListJsonCfgManager,NestMapJsonCfgManager,SimpleMapJsonCfgManager
public abstract class BaseCfgManager<ID,Cfg extends ICfg<ID>>
extends Object
implements ICfgManager<ID,Cfg>
- Author:
- zhengj Date: 2019/6/6. Time: 15:51. To change this template use File | Settings | File Templates.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void预留一个用户自定义的钩子函数, 可以自己做一些事情 目前是空的实现,开发者选择是否覆盖函数 举例: json配置加载完成后,可以进一步对cfg对象做一些处理.初步解析,或者组装数据.方便项目使用配置表.protected voidfileChangeListener(File file) 监听文件变动.得到该类加载的cfg 类class得到加载的文件名protected <Cfg extends ICfg>
voidhandlerObjConvertAndAssign(Cfg cfg, String name, String val) \ 转换字符串为对象.intorder()加载顺序Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.qiunet.cfg.manager.base.ICfgManager
loadCfg
-
Field Details
-
logger
protected org.slf4j.Logger logger -
fileName
-
cfgClass
-
-
Constructor Details
-
BaseCfgManager
-
-
Method Details
-
afterLoad
预留一个用户自定义的钩子函数, 可以自己做一些事情 目前是空的实现,开发者选择是否覆盖函数 举例: json配置加载完成后,可以进一步对cfg对象做一些处理.初步解析,或者组装数据.方便项目使用配置表.- Throws:
Exception
-
fileChangeListener
监听文件变动. 一个cfgManager 可能有多个文件. 延时500 毫秒再加载.- Parameters:
file-
-
getLoadFileName
Description copied from interface:ICfgManager得到加载的文件名- Specified by:
getLoadFileNamein interfaceICfgManager<ID,Cfg extends ICfg<ID>> - Returns:
-
getCfgClass
Description copied from interface:ICfgManager得到该类加载的cfg 类class- Specified by:
getCfgClassin interfaceICfgManager<ID,Cfg extends ICfg<ID>> - Returns:
-
order
public int order()Description copied from interface:ICfgManager加载顺序 -
handlerObjConvertAndAssign
\ 转换字符串为对象. 并且赋值给字段- Type Parameters:
Cfg- 配置文件类- Parameters:
cfg- 配置文件对象name- 字段名称val- 字符串值
-