Class AbstractConfigBuilder<TYPE,​UNIT,​RESULT extends ConfigValue<TYPE,​UNIT>,​HOLDER extends ConfigurationHolder<?>,​SELF extends 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 Detail

      • path

        @Nullable
        protected @Nullable java.lang.String path
      • defaultValueSupplier

        @NotNull
        protected @NotNull java.util.function.Supplier<@Nullable TYPE> defaultValueSupplier
      • initializer

        @NotNull
        protected @NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,​java.lang.String> initializer
    • Constructor Detail

      • AbstractConfigBuilder

        protected AbstractConfigBuilder​(java.lang.Class<? super HOLDER> providerClass,
                                        ValueType<TYPE> type)
    • Method Detail

      • self

        protected abstract SELF self()
      • build

        @NotNull
        public abstract RESULT build()
      • holder

        public SELF holder​(@Nullable
                           HOLDER holder)
      • path

        public SELF path​(@Nullable
                         @Nullable java.lang.String path)
      • validator

        public SELF validator​(@NotNull
                              @NotNull ValueValidator<UNIT> validator)
        Set the ValueValidator for the value.
        Parameters:
        validator - The validator to set.
        Returns:
        this builder
      • validator

        public SELF validator​(@NotNull
                              @NotNull DataValidator<? super UNIT> validator)
        Set the DataValidator 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​(@Nullable
                             TYPE defaultValue)
      • defaults

        public SELF defaults​(@NotNull
                             @NotNull java.util.function.Supplier<@Nullable TYPE> supplier)