Class AbstractConfigBuilder<TYPE,​RESULT extends ConfigValue<TYPE>,​HOLDER extends ConfigurationHolder<?>,​SELF extends AbstractConfigBuilder<TYPE,​RESULT,​HOLDER,​SELF>>

  • Direct Known Subclasses:
    CommonConfigBuilder

    public abstract class AbstractConfigBuilder<TYPE,​RESULT extends ConfigValue<TYPE>,​HOLDER extends ConfigurationHolder<?>,​SELF extends AbstractConfigBuilder<TYPE,​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

        @NotNull
        protected abstract SELF self()
      • build

        @NotNull
        public abstract RESULT build()
      • holder

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

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

        @NotNull
        public SELF initializer​(@NotNull
                                @NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,​java.lang.String> initializer)
      • append

        @NotNull
        public SELF append​(@NotNull
                           @NotNull java.util.function.BiConsumer<ConfigurationHolder<?>,​java.lang.String> initializer)
      • append

        @NotNull
        public SELF append​(@NotNull
                           @NotNull java.util.function.Consumer<ConfigurationHolder<?>> initializer)
      • defaults

        @NotNull
        public SELF defaults​(@Nullable
                             TYPE defaultValue)
      • defaults

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

        @NotNull
        public <M> SELF meta​(@NotNull
                             @NotNull java.util.function.Consumer<@NotNull ConfigurationMetaHolder> metaConsumer)