package com.sequenceiq.cloudbreak.core.bootstrap.config; import java.util.Optional; import com.sequenceiq.cloudbreak.orchestrator.model.ContainerConfig; public class ContainerConfigBuilder { private final ContainerConfig containerConfig; private ContainerConfigBuilder(Builder builder) { this.containerConfig = new ContainerConfig(builder.name, builder.version, builder.queue); } private ContainerConfig getContainerConfig() { return containerConfig; } public static class Builder { private final String name; private final String version; private final String queue; public Builder(String imageNameAndVersion, Optional<String> queue) { String[] image = imageNameAndVersion.split(":"); this.name = image[0]; this.version = image.length > 1 ? image[1] : "latest"; this.queue = queue.isPresent() ? queue.get() : "default"; } public ContainerConfig build() { return new ContainerConfigBuilder(this).getContainerConfig(); } } }