Class ConfigurationProvider<W extends ConfigurationWrapper<?>>

  • Type Parameters:
    W - 配置文件的原生功能类
    Direct Known Subclasses:
    FileConfigProvider

    public abstract class ConfigurationProvider<W extends ConfigurationWrapper<?>>
    extends java.lang.Object
    配置文件提供者,用于为 ConfigValue 提供配置文件的源,以便实现读取、保存等操作。
    • Field Detail

      • updateTime

        protected long updateTime
    • Constructor Detail

      • ConfigurationProvider

        protected ConfigurationProvider()
    • Method Detail

      • getUpdateTime

        public long getUpdateTime()
        得到配置文件的更新(最后加载)时间。
        Returns:
        更新时间
      • isExpired

        public boolean isExpired​(long time)
        用于 CachedConfigValue 判断缓存值是否过期(即缓存的时间早于配置文件的最后加载时间)。
        Parameters:
        time - 缓存值时的时间戳
        Returns:
        缓存值是否过期
      • getConfiguration

        @NotNull
        public abstract W getConfiguration()
        得到配置文件的原生功能类。
        Returns:
        原生类
      • reload

        public void reload()
                    throws java.lang.Exception
        重载当前配置文件。(将不会保存已修改的内容)
        Throws:
        java.lang.Exception - 当重载出现错误时抛出
      • save

        public abstract void save()
                           throws java.lang.Exception
        将当前对配置文件的更改进行保存。
        Throws:
        java.lang.Exception - 当保存出现错误时抛出
      • onReload

        protected abstract void onReload()
                                  throws java.lang.Exception
        针对于不同配置文件类型所执行的重载操作。
        Throws:
        java.lang.Exception - 当操作出现错误时抛出。
      • setHeaderComment

        public void setHeaderComment​(@Nullable
                                     @Nullable java.lang.String path,
                                     @Nullable
                                     @Nullable java.util.List<java.lang.String> comments)
      • setInlineComment

        public void setInlineComment​(@NotNull
                                     @NotNull java.lang.String path,
                                     @Nullable
                                     @Nullable java.lang.String comment)
      • getHeaderComment

        @Nullable
        public @Nullable @Unmodifiable java.util.List<java.lang.String> getHeaderComment​(@Nullable
                                                                                         @Nullable java.lang.String path)
      • getInlineComment

        @Nullable
        public @Nullable java.lang.String getInlineComment​(@NotNull
                                                           @NotNull java.lang.String path)
      • initialize

        public void initialize​(java.lang.Class<? extends Configuration> configClazz)
        初始化指定类以及其子类的所有 ConfigValue 对象。
        Parameters:
        configClazz - 配置文件类,须继承于 Configuration
      • initialize

        public void initialize​(java.lang.Class<? extends Configuration> configClazz,
                               boolean saveDefaults)
        初始化指定类以及其子类的所有 ConfigValue 对象。
        Parameters:
        configClazz - 配置文件类,须继承于 Configuration
        saveDefaults - 是否写入默认值(默认为 true)。
      • initialize

        public void initialize​(java.lang.Class<? extends Configuration> configClazz,
                               boolean saveDefaults,
                               boolean loadSubClasses)
        初始化指定类的所有 ConfigValue 对象。
        Parameters:
        configClazz - 配置文件类,须继承于 Configuration
        saveDefaults - 是否写入默认值(默认为 true)。
        loadSubClasses - 是否加载内部子类(默认为 true)。
      • initialize

        public void initialize​(@NotNull
                               @NotNull Configuration config,
                               boolean saveDefaults)
        初始化指定实例的所有 ConfigValue 与内部 Configuration 对象。
        Parameters:
        config - 配置文件实例类,须实现 Configuration
        saveDefaults - 是否写入默认值(默认为 true)。