package io.gitlab.jfronny.libjf.config.api.v1.dsl; import io.gitlab.jfronny.libjf.config.api.v1.ConfigInstance; import java.nio.file.Path; import java.util.function.Consumer; /** * An interface obtained through DSL, used to create config instances * @param The class implementing this builder */ public interface ConfigBuilder> extends CategoryBuilder { Builder setLoadMethod(Consumer load); Builder setWriteMethod(Consumer write); Builder setPath(Path path); ConfigInstance build(); @FunctionalInterface interface ConfigBuilderFunction { ConfigBuilder apply(ConfigBuilder builder); } }