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 Details

    • logger

      protected org.slf4j.Logger logger
    • fileName

      protected String fileName
    • cfgClass

      protected Class<Cfg extends ICfg<ID>> cfgClass
  • Constructor Details

    • BaseCfgManager

      public BaseCfgManager(Class<Cfg> cfgClass)
  • Method Details

    • afterLoad

      protected void afterLoad() throws Exception
      预留一个用户自定义的钩子函数, 可以自己做一些事情 目前是空的实现,开发者选择是否覆盖函数 举例: json配置加载完成后,可以进一步对cfg对象做一些处理.初步解析,或者组装数据.方便项目使用配置表.
      Throws:
      Exception
    • fileChangeListener

      protected void fileChangeListener(File file)
      监听文件变动. 一个cfgManager 可能有多个文件. 延时500 毫秒再加载.
      Parameters:
      file -
    • getLoadFileName

      public String getLoadFileName()
      Description copied from interface: ICfgManager
      得到加载的文件名
      Specified by:
      getLoadFileName in interface ICfgManager<ID,Cfg extends ICfg<ID>>
      Returns:
    • getCfgClass

      public Class<Cfg> getCfgClass()
      Description copied from interface: ICfgManager
      得到该类加载的cfg 类class
      Specified by:
      getCfgClass in interface ICfgManager<ID,Cfg extends ICfg<ID>>
      Returns:
    • order

      public int order()
      Description copied from interface: ICfgManager
      加载顺序
      Specified by:
      order in interface ICfgManager<ID,Cfg extends ICfg<ID>>
      Returns:
    • handlerObjConvertAndAssign

      protected <Cfg extends ICfg> void handlerObjConvertAndAssign(Cfg cfg, String name, String val)
      \ 转换字符串为对象. 并且赋值给字段
      Type Parameters:
      Cfg - 配置文件类
      Parameters:
      cfg - 配置文件对象
      name - 字段名称
      val - 字符串值