Class AbstractConfigBuilder<TYPE,UNIT,RESULT extends ConfigValue<TYPE,UNIT>,HOLDER extends ConfigurationHolder<?>,SELF extends AbstractConfigBuilder<TYPE,UNIT,RESULT,HOLDER,SELF>>
- java.lang.Object
-
- cc.carm.lib.configuration.builder.AbstractConfigBuilder<TYPE,UNIT,RESULT,HOLDER,SELF>
-
- Direct Known Subclasses:
CommonConfigBuilder
@NotNullByDefault public abstract class AbstractConfigBuilder<TYPE,UNIT,RESULT extends ConfigValue<TYPE,UNIT>,HOLDER extends ConfigurationHolder<?>,SELF extends AbstractConfigBuilder<TYPE,UNIT,RESULT,HOLDER,SELF>> extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description protected @NotNull java.util.function.Supplier<@Nullable TYPE>
defaultValueSupplier
protected HOLDER
holder
protected @NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,java.lang.String>
initializer
protected @Nullable java.lang.String
path
protected java.lang.Class<? super HOLDER>
providerClass
protected ValueType<TYPE>
type
protected @NotNull ValueValidator<UNIT>
valueValidator
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractConfigBuilder(java.lang.Class<? super HOLDER> providerClass, ValueType<TYPE> type)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description SELF
append(@NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,java.lang.String> initializer)
SELF
append(@NotNull java.util.function.Consumer<ConfigurationHolder<?>> initializer)
abstract RESULT
build()
protected @NotNull ValueManifest<TYPE,UNIT>
buildManifest()
SELF
defaults(@NotNull java.util.function.Supplier<@Nullable TYPE> supplier)
SELF
defaults(TYPE defaultValue)
SELF
holder(HOLDER holder)
SELF
initializer(@NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,java.lang.String> initializer)
<M> SELF
meta(@NotNull ConfigurationMetadata<M> type, M value)
SELF
meta(@NotNull java.util.function.Consumer<@NotNull ConfigurationMetaHolder> metaConsumer)
SELF
path(@Nullable java.lang.String path)
protected abstract SELF
self()
@NotNull ValueType<TYPE>
type()
SELF
validate(@NotNull DataValidator<? super UNIT> validator)
Validate the value with the specified condition.SELF
validate(@NotNull ValueValidator<? super UNIT> validator)
Validate the value with the specified condition.SELF
validate(@NotNull java.util.function.Predicate<? super UNIT> condition, @NotNull java.lang.Exception exception)
Validate the value with the specified condition.SELF
validate(@NotNull java.util.function.Predicate<? super UNIT> condition, @NotNull java.lang.String msg)
Validate the value with the specified condition.SELF
validator(@NotNull DataValidator<? super UNIT> validator)
Set theDataValidator
for the value.SELF
validator(@NotNull ValueValidator<UNIT> validator)
Set theValueValidator
for the value.
-
-
-
Field Detail
-
providerClass
protected final java.lang.Class<? super HOLDER extends ConfigurationHolder<?>> providerClass
-
holder
@Nullable protected HOLDER extends ConfigurationHolder<?> holder
-
path
@Nullable protected @Nullable java.lang.String path
-
valueValidator
@NotNull protected @NotNull ValueValidator<UNIT> valueValidator
-
defaultValueSupplier
@NotNull protected @NotNull java.util.function.Supplier<@Nullable TYPE> defaultValueSupplier
-
initializer
@NotNull protected @NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,java.lang.String> initializer
-
-
Method Detail
-
self
protected abstract SELF self()
-
build
@NotNull public abstract RESULT build()
-
path
public SELF path(@Nullable @Nullable java.lang.String path)
-
validator
public SELF validator(@NotNull @NotNull ValueValidator<UNIT> validator)
Set theValueValidator
for the value.- Parameters:
validator
- The validator to set.- Returns:
- this builder
-
validator
public SELF validator(@NotNull @NotNull DataValidator<? super UNIT> validator)
Set theDataValidator
for the value.- Parameters:
validator
- The validator to set.- Returns:
- this builder
-
validate
public SELF validate(@NotNull @NotNull ValueValidator<? super UNIT> validator)
Validate the value with the specified condition.- Parameters:
validator
- The validator to append.- Returns:
- this builder
-
validate
public SELF validate(@NotNull @NotNull DataValidator<? super UNIT> validator)
Validate the value with the specified condition.- Parameters:
validator
- The validator to append.- Returns:
- this builder
-
validate
public SELF validate(@NotNull @NotNull java.util.function.Predicate<? super UNIT> condition, @NotNull @NotNull java.lang.Exception exception)
Validate the value with the specified condition.- Parameters:
condition
- The condition to check, if the condition is false, an exception will be thrown.exception
- The exception to throw if the condition is false.- Returns:
- this builder
-
validate
public SELF validate(@NotNull @NotNull java.util.function.Predicate<? super UNIT> condition, @NotNull @NotNull java.lang.String msg)
Validate the value with the specified condition.- Parameters:
condition
- The condition to check, if the condition is false, an exception will be thrown.msg
- The message to throw if the condition is false.- Returns:
- this builder
-
initializer
public SELF initializer(@NotNull @NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,java.lang.String> initializer)
-
append
public SELF append(@NotNull @NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,java.lang.String> initializer)
-
append
public SELF append(@NotNull @NotNull java.util.function.Consumer<ConfigurationHolder<?>> initializer)
-
defaults
public SELF defaults(@NotNull @NotNull java.util.function.Supplier<@Nullable TYPE> supplier)
-
meta
public SELF meta(@NotNull @NotNull java.util.function.Consumer<@NotNull ConfigurationMetaHolder> metaConsumer)
-
meta
public <M> SELF meta(@NotNull @NotNull ConfigurationMetadata<M> type, @Nullable M value)
-
buildManifest
@NotNull protected @NotNull ValueManifest<TYPE,UNIT> buildManifest()
-
-