类 ConfigManager

java.lang.Object
moe.kawayi.org.utopia.core.config.ConfigManager

public final class ConfigManager extends Object
配置文件管理器
  • 方法详细资料

    • loadConfig

      @NotNull public static Optional<Config> loadConfig(@NotNull Path path) throws IllegalArgumentException
      加载配置文件
      参数:
      path - 配置文件路径
      返回:
      加载到的配置文件。如果配置文件不存在则返回empty
      抛出:
      IllegalArgumentException - 如果文件不以.conf结尾则抛出
    • createDefaultHocon

      @NotNull public static String createDefaultHocon(@NotNull Class<?> configClazz) throws IllegalAccessException
      生成一个默认的json配置字符串
      根据输入的configClazz中的static变量生成。不支持嵌套类型。
      如果一个static变量不以"_DEFAULT"结尾,则将该变量视为key
      如果一个static变量已"_DEFAULT"结尾,则将该变量视为变量的名称去除"_DEFAULT"后缀后的变量的value 如:
       
        public class Config{
            public static final String PORT = "a-port";
            public static final int PORT_DEFAULT = 1;
        }
       
       
      将会生成类似结构的字符串: {"a-port":1}
      作为key的变量将调用Object.toString()作为结果
      作为value的变量的类型支持byte,short,int,long,float,double,boolean,String。其他类型将调用Object.toString()以String储存。
      不支持任何Map,List等复杂类型。
      参数:
      configClazz - 配置类
      返回:
      Hocon配置字符串。同时可以被HOCON解析。
      抛出:
      IllegalAccessException - java的反射API所抛出的异常