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 longupdateTime
-
Constructor Summary
Constructors Modifier Constructor Description protectedConfigurationProvider()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract @Nullable ConfigurationCommentsgetComments()abstract WgetConfiguration()得到配置文件的原生功能类。@Nullable @Unmodifiable java.util.List<java.lang.String>getHeaderComment(@Nullable java.lang.String path)abstract @NotNull ConfigInitializer<? extends ConfigurationProvider<W>>getInitializer()@Nullable java.lang.StringgetInlineComment(@NotNull java.lang.String path)longgetUpdateTime()得到配置文件的更新(最后加载)时间。voidinitialize(@NotNull ConfigurationRoot config)初始化指定实例的所有ConfigValue与内部ConfigurationRoot对象。voidinitialize(@NotNull ConfigurationRoot config, boolean saveDefaults)初始化指定实例的所有ConfigValue与内部ConfigurationRoot对象。voidinitialize(java.lang.Class<? extends ConfigurationRoot> configClazz)初始化指定类以及其子类的所有ConfigValue对象。voidinitialize(java.lang.Class<? extends ConfigurationRoot> configClazz, boolean saveDefaults)初始化指定类以及其子类的所有ConfigValue对象。voidinitialize(java.lang.Class<? extends ConfigurationRoot> configClazz, boolean saveDefaults, boolean loadSubClasses)初始化指定类的所有ConfigValue对象。booleanisExpired(long time)用于CachedConfigValue判断缓存值是否过期(即缓存的时间早于配置文件的最后加载时间)。protected abstract voidonReload()针对于不同配置文件类型所执行的重载操作。voidreload()重载当前配置文件。abstract voidsave()将当前对配置文件的更改进行保存。voidsetHeaderComment(@Nullable java.lang.String path, @Nullable java.util.List<java.lang.String> comments)voidsetInlineComment(@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 ConfigurationRoot> configClazz)
初始化指定类以及其子类的所有ConfigValue对象。- Parameters:
configClazz- 配置文件类,须继承于ConfigurationRoot。
-
initialize
public void initialize(java.lang.Class<? extends ConfigurationRoot> configClazz, boolean saveDefaults)
初始化指定类以及其子类的所有ConfigValue对象。- Parameters:
configClazz- 配置文件类,须继承于ConfigurationRoot。saveDefaults- 是否写入默认值(默认为 true)。
-
initialize
public void initialize(java.lang.Class<? extends ConfigurationRoot> configClazz, boolean saveDefaults, boolean loadSubClasses)
初始化指定类的所有ConfigValue对象。- Parameters:
configClazz- 配置文件类,须继承于ConfigurationRoot。saveDefaults- 是否写入默认值(默认为 true)。loadSubClasses- 是否加载内部子类(默认为 true)。
-
initialize
public void initialize(@NotNull @NotNull ConfigurationRoot config)初始化指定实例的所有ConfigValue与内部ConfigurationRoot对象。- Parameters:
config- 配置文件实例类,须实现ConfigurationRoot。
-
initialize
public void initialize(@NotNull @NotNull ConfigurationRoot config, boolean saveDefaults)初始化指定实例的所有ConfigValue与内部ConfigurationRoot对象。- Parameters:
config- 配置文件实例类,须实现ConfigurationRoot。saveDefaults- 是否写入默认值(默认为 true)。
-
-