All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.mklinger.commons.exec.docker.DockerStartCmdBuilder Maven / Gradle / Ivy

The newest version!
package de.mklinger.commons.exec.docker;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import de.mklinger.commons.exec.CmdSettings;

/**
 * @author Marc Klinger - mklinger[at]mklinger[dot]de
 */
public class DockerStartCmdBuilder extends DockerCmdBuilderBase {
	private final List containers;

	public DockerStartCmdBuilder(final String... containers) {
		super("start");
		this.containers = new ArrayList<>();
		Collections.addAll(this.containers, containers);
	}

	public DockerStartCmdBuilder container(final String container) {
		this.containers.add(container);
		return this;
	}

	public DockerStartCmdBuilder attach() {
		arg("-a");
		return this;
	}

	@Override
	public CmdSettings toCmdSettings() {
		final CmdSettings cmdSettings = super.toCmdSettings();

		if (containers.isEmpty()) {
			throw new IllegalStateException("No containers given");
		}

		cmdSettings.getCommand().addAll(containers);

		return cmdSettings;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy