Class ConfigurationProvider<W extends ConfigurationWrapper<?>>
- java.lang.Object
-
- cc.carm.lib.configuration.core.source.ConfigurationProvider<W>
-
- Type Parameters:
W
- 配置文件的原生功能类
- Direct Known Subclasses:
FileConfigProvider
public abstract class ConfigurationProvider<W extends ConfigurationWrapper<?>> extends java.lang.Object
配置文件提供者,用于为ConfigValue
提供配置文件的源,以便实现读取、保存等操作。
-
-
Field Summary
Fields Modifier and Type Field Description protected long
updateTime
-
Constructor Summary
Constructors Modifier Constructor Description protected
ConfigurationProvider()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract @Nullable ConfigurationComments
getComments()
abstract W
getConfiguration()
得到配置文件的原生功能类。@Nullable @Unmodifiable java.util.List<java.lang.String>
getHeaderComment(@Nullable java.lang.String path)
abstract @NotNull ConfigInitializer<? extends ConfigurationProvider<W>>
getInitializer()
@Nullable java.lang.String
getInlineComment(@NotNull java.lang.String path)
long
getUpdateTime()
得到配置文件的更新(最后加载)时间。void
initialize(@NotNull Configuration config)
初始化指定实例的所有ConfigValue
与内部Configuration
对象。void
initialize(@NotNull Configuration config, boolean saveDefaults)
初始化指定实例的所有ConfigValue
与内部Configuration
对象。void
initialize(java.lang.Class<? extends Configuration> configClazz)
初始化指定类以及其子类的所有ConfigValue
对象。void
initialize(java.lang.Class<? extends Configuration> configClazz, boolean saveDefaults)
初始化指定类以及其子类的所有ConfigValue
对象。void
initialize(java.lang.Class<? extends Configuration> configClazz, boolean saveDefaults, boolean loadSubClasses)
初始化指定类的所有ConfigValue
对象。boolean
isExpired(long time)
用于CachedConfigValue
判断缓存值是否过期(即缓存的时间早于配置文件的最后加载时间)。protected abstract void
onReload()
针对于不同配置文件类型所执行的重载操作。void
reload()
重载当前配置文件。abstract void
save()
将当前对配置文件的更改进行保存。void
setHeaderComment(@Nullable java.lang.String path, @Nullable java.util.List<java.lang.String> comments)
void
setInlineComment(@NotNull java.lang.String path, @Nullable java.lang.String comment)
-
-
-
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
- 当操作出现错误时抛出。
-
getComments
@Nullable public abstract @Nullable ConfigurationComments getComments()
-
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)
-
getInitializer
@NotNull public abstract @NotNull ConfigInitializer<? extends ConfigurationProvider<W>> getInitializer()
-
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)
初始化指定实例的所有ConfigValue
与内部Configuration
对象。- Parameters:
config
- 配置文件实例类,须实现Configuration
。
-
initialize
public void initialize(@NotNull @NotNull Configuration config, boolean saveDefaults)
初始化指定实例的所有ConfigValue
与内部Configuration
对象。- Parameters:
config
- 配置文件实例类,须实现Configuration
。saveDefaults
- 是否写入默认值(默认为 true)。
-
-