package io.airlift.configuration;
import com.google.common.collect.ImmutableList;
import java.util.List;
public interface ConfigDefaults<T>
{
static <T> ConfigDefaults<T> noDefaults()
{
return config -> {
};
}
static <T> ConfigDefaults<T> configDefaults(List<? extends ConfigDefaults<T>> configDefaults)
{
List<ConfigDefaults<T>> finalConfigDefaults = ImmutableList.copyOf(configDefaults);
return config -> {
for (ConfigDefaults<T> configDefault : finalConfigDefaults) {
configDefault.setDefaults(config);
}
};
}
void setDefaults(T config);
}