LibJF/libjf-config-core-v1/src/main/java/io/gitlab/jfronny/libjf/config/api/v1/dsl/DSL.java

26 lines
1015 B
Java

package io.gitlab.jfronny.libjf.config.api.v1.dsl;
import io.gitlab.jfronny.libjf.config.api.v1.ConfigHolder;
import io.gitlab.jfronny.libjf.config.api.v1.ConfigInstance;
import io.gitlab.jfronny.libjf.config.impl.dsl.DSLImpl;
public interface DSL {
static DSL create() {
return new DSLImpl();
}
static DSL.Defaulted create(String defaultId) {
return new DSLImpl.Defaulted(defaultId);
}
ConfigInstance config(String configId, ConfigBuilder.ConfigBuilderFunction builder);
ConfigInstance register(String configId, ConfigBuilder.ConfigBuilderFunction builder);
ConfigInstance register(ConfigHolder config, String configId, ConfigBuilder.ConfigBuilderFunction builder);
interface Defaulted extends DSL {
ConfigInstance config(ConfigBuilder.ConfigBuilderFunction builder);
ConfigInstance register(ConfigBuilder.ConfigBuilderFunction builder);
ConfigInstance register(ConfigHolder config, ConfigBuilder.ConfigBuilderFunction builder);
}
}