Class ConfigValue<T>
- java.lang.Object
-
- cc.carm.lib.configuration.core.value.ValueManifest<T>
-
- cc.carm.lib.configuration.core.value.ConfigValue<T>
-
- Direct Known Subclasses:
CachedConfigValue
public abstract class ConfigValue<T> extends ValueManifest<T>
-
-
Field Summary
-
Fields inherited from class cc.carm.lib.configuration.core.value.ValueManifest
configPath, defaultValue, headerComments, inlineComment, provider
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedConfigValue(@NotNull ValueManifest<T> manifest)protectedConfigValue(@Nullable ConfigurationProvider<?> provider, @Nullable java.lang.String configPath, @Nullable java.util.List<java.lang.String> headerComments, @Nullable java.lang.String inlineComments, T defaultValue)Deprecated.请使用ConfigValue(ValueManifest)构造器。
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static @NotNull ConfigBuilderbuilder()abstract Tget()得到该配置的设定值(即读取到的值)。TgetNotNull()得到该配置的非空值。@NotNull java.util.Optional<@Nullable T>getOptional()TgetOrDefault()得到该配置的设定值,若不存在,则返回默认值。voidinitialize(@NotNull ConfigurationProvider<?> provider, boolean saveDefault, @NotNull java.lang.String configPath, @Nullable java.util.List<java.lang.String> headerComments, @Nullable java.lang.String inlineComments)booleanisDefault()判断加载的配置是否与默认值相同。abstract voidset(T value)设定该配置的值。voidsetDefault()初始化该配置的默认值。voidsetDefault(boolean override)将该配置的值设置为默认值。-
Methods inherited from class cc.carm.lib.configuration.core.value.ValueManifest
getConfigPath, getConfiguration, getDefaultValue, getHeaderComments, getInlineComment, getProvider, getValue, initialize, of, of, setDefaultValue, setValue
-
-
-
-
Constructor Detail
-
ConfigValue
protected ConfigValue(@NotNull @NotNull ValueManifest<T> manifest)
-
ConfigValue
@Deprecated protected ConfigValue(@Nullable @Nullable ConfigurationProvider<?> provider, @Nullable @Nullable java.lang.String configPath, @Nullable @Nullable java.util.List<java.lang.String> headerComments, @Nullable @Nullable java.lang.String inlineComments, @Nullable T defaultValue)Deprecated.请使用ConfigValue(ValueManifest)构造器。- Parameters:
provider- 配置文件提供者configPath- 配置路径headerComments- 头部注释内容inlineComments- 行内注释内容defaultValue- 默认参数值
-
-
Method Detail
-
builder
@NotNull public static @NotNull ConfigBuilder builder()
-
initialize
public void initialize(@NotNull @NotNull ConfigurationProvider<?> provider, boolean saveDefault, @NotNull @NotNull java.lang.String configPath, @Nullable @Nullable java.util.List<java.lang.String> headerComments, @Nullable @Nullable java.lang.String inlineComments)
-
get
@Nullable public abstract T get()
得到该配置的设定值(即读取到的值)。
若初始化时未写入默认值,则可以通过getOrDefault()方法在该设定值为空时获取默认值。- Returns:
- 设定值
-
getOrDefault
@Nullable public T getOrDefault()
得到该配置的设定值,若不存在,则返回默认值。- Returns:
- 设定值或默认值
-
getNotNull
@NotNull public T getNotNull()
得到该配置的非空值。- Returns:
- 非空值
- Throws:
java.lang.NullPointerException- 对应数据为空时抛出
-
getOptional
@NotNull public @NotNull java.util.Optional<@Nullable T> getOptional()
-
set
public abstract void set(@Nullable T value)设定该配置的值。
设定后,不会自动保存配置文件;若需要保存,请调用ConfigurationProvider.save()方法。- Parameters:
value- 配置的值
-
setDefault
public void setDefault()
初始化该配置的默认值。
设定后,不会自动保存配置文件;若需要保存,请调用ConfigurationProvider.save()方法。
-
setDefault
public void setDefault(boolean override)
将该配置的值设置为默认值。
设定后,不会自动保存配置文件;若需要保存,请调用ConfigurationProvider.save()方法。- Parameters:
override- 是否覆盖已设定的值
-
isDefault
public boolean isDefault()
判断加载的配置是否与默认值相同。- Returns:
- 获取当前值是否为默认值。
-
-