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>defaultValueSupplierprotected HOLDERholderprotected @NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,java.lang.String>initializerprotected @Nullable java.lang.Stringpathprotected java.lang.Class<? super HOLDER>providerClassprotected ValueType<TYPE>typeprotected @NotNull ValueValidator<UNIT>valueValidator
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractConfigBuilder(java.lang.Class<? super HOLDER> providerClass, ValueType<TYPE> type)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description SELFappend(@NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,java.lang.String> initializer)SELFappend(@NotNull java.util.function.Consumer<ConfigurationHolder<?>> initializer)abstract RESULTbuild()protected @NotNull ValueManifest<TYPE,UNIT>buildManifest()SELFdefaults(@NotNull java.util.function.Supplier<@Nullable TYPE> supplier)SELFdefaults(TYPE defaultValue)SELFholder(HOLDER holder)SELFinitializer(@NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,java.lang.String> initializer)<M> SELFmeta(@NotNull ConfigurationMetadata<M> type, M value)SELFmeta(@NotNull java.util.function.Consumer<@NotNull ConfigurationMetaHolder> metaConsumer)SELFpath(@Nullable java.lang.String path)protected abstract SELFself()@NotNull ValueType<TYPE>type()SELFvalidate(@NotNull DataValidator<? super UNIT> validator)Validate the value with the specified condition.SELFvalidate(@NotNull ValueValidator<? super UNIT> validator)Validate the value with the specified condition.SELFvalidate(@NotNull java.util.function.Predicate<? super UNIT> condition, @NotNull java.lang.Exception exception)Validate the value with the specified condition.SELFvalidate(@NotNull java.util.function.Predicate<? super UNIT> condition, @NotNull java.lang.String msg)Validate the value with the specified condition.SELFvalidator(@NotNull DataValidator<? super UNIT> validator)Set theDataValidatorfor the value.SELFvalidator(@NotNull ValueValidator<UNIT> validator)Set theValueValidatorfor 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 theValueValidatorfor the value.- Parameters:
validator- The validator to set.- Returns:
- this builder
-
validator
public SELF validator(@NotNull @NotNull DataValidator<? super UNIT> validator)
Set theDataValidatorfor 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()
-
-