EnvironmentFactoryImpl.java
package io.github.jonloucks.variants.impl;
import io.github.jonloucks.variants.api.Environment;
import io.github.jonloucks.variants.api.EnvironmentFactory;
import java.util.function.Consumer;
import static io.github.jonloucks.contracts.api.Checks.builderConsumerCheck;
/**
* Responsibility: EnvironmentFactory implementation
*/
final class EnvironmentFactoryImpl implements EnvironmentFactory {
@Override
public Environment createEnvironment(Environment.Config config) {
return new EnvironmentImpl(config);
}
@Override
public Environment createEnvironment(Consumer<Environment.Config.Builder> builderConsumer) {
final Consumer<Environment.Config.Builder> validBuilderConsumer = builderConsumerCheck(builderConsumer);
final EnvironmentBuilderImpl builder = new EnvironmentBuilderImpl();
validBuilderConsumer.accept(builder);
return new EnvironmentImpl(builder);
}
}