Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerContainerConfig.java')
-rw-r--r--containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerContainerConfig.java490
1 files changed, 490 insertions, 0 deletions
diff --git a/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerContainerConfig.java b/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerContainerConfig.java
new file mode 100644
index 0000000000..13749dbec2
--- /dev/null
+++ b/containers/org.eclipse.linuxtools.docker.core/src/org/eclipse/linuxtools/internal/docker/core/DockerContainerConfig.java
@@ -0,0 +1,490 @@
+/*******************************************************************************
+ * Copyright (c) 2014 Red Hat.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat - Initial Contribution
+ *******************************************************************************/
+package org.eclipse.linuxtools.internal.docker.core;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
+
+import org.eclipse.linuxtools.docker.core.IDockerContainerConfig;
+
+import com.spotify.docker.client.messages.ContainerConfig;
+
+public class DockerContainerConfig implements IDockerContainerConfig {
+
+ private final String hostname;
+ private final String domainname;
+ private final String user;
+ private final Long memory;
+ private final Long memorySwap;
+ private final Long cpuShares;
+ private final String cpuset;
+ private final Boolean attachStdin;
+ private final Boolean attachStdout;
+ private final Boolean attachStderr;
+ private final List<String> portSpecs;
+ private final Set<String> exposedPorts;
+ private final Boolean tty;
+ private final Boolean openStdin;
+ private final Boolean stdinOnce;
+ private final List<String> env;
+ private final List<String> cmd;
+ private final String image;
+ private final Set<String> volumes;
+ private final String workingDir;
+ private final List<String> entrypoint;
+ private final Boolean networkDisabled;
+ private final List<String> onBuild;
+
+ public DockerContainerConfig(final ContainerConfig containerConfig) {
+ this.hostname = containerConfig.hostname();
+ this.domainname = containerConfig.domainname();
+ this.user = containerConfig.user();
+ this.memory = containerConfig.memory();
+ this.memorySwap = containerConfig.memorySwap();
+ this.cpuShares = containerConfig.cpuShares();
+ this.cpuset = containerConfig.cpuset();
+ this.attachStdin = containerConfig.attachStdin();
+ this.attachStdout = containerConfig.attachStdout();
+ this.attachStderr = containerConfig.attachStderr();
+ this.portSpecs = containerConfig.portSpecs();
+ this.exposedPorts = containerConfig.exposedPorts();
+ this.tty = containerConfig.tty();
+ this.openStdin = containerConfig.openStdin();
+ this.stdinOnce = containerConfig.stdinOnce();
+ this.env = containerConfig.env();
+ this.cmd = containerConfig.cmd();
+ this.image = containerConfig.image();
+ this.volumes = containerConfig.volumes();
+ this.workingDir = containerConfig.workingDir();
+ this.entrypoint = containerConfig.entrypoint();
+ this.networkDisabled = containerConfig.networkDisabled();
+ this.onBuild = containerConfig.onBuild();
+ }
+
+ private DockerContainerConfig(final Builder builder) {
+ this.hostname = builder.hostname;
+ this.domainname = builder.domainname;
+ this.user = builder.user;
+ this.memory = builder.memory;
+ this.memorySwap = builder.memorySwap;
+ this.cpuShares = builder.cpuShares;
+ this.cpuset = builder.cpuset;
+ this.attachStdin = builder.attachStdin;
+ this.attachStdout = builder.attachStdout;
+ this.attachStderr = builder.attachStderr;
+ this.portSpecs = builder.portSpecs;
+ this.exposedPorts = builder.exposedPorts;
+ this.tty = builder.tty;
+ this.openStdin = builder.openStdin;
+ this.stdinOnce = builder.stdinOnce;
+ this.env = builder.env;
+ this.cmd = builder.cmd;
+ this.image = builder.image;
+ this.volumes = builder.volumes;
+ this.workingDir = builder.workingDir;
+ this.entrypoint = builder.entrypoint;
+ this.networkDisabled = builder.networkDisabled;
+ this.onBuild = builder.onBuild;
+ }
+
+ @Override
+ public String hostname() {
+ return hostname;
+ }
+
+ @Override
+ public String domainname() {
+ return domainname;
+ }
+
+ @Override
+ public String user() {
+ return user;
+ }
+
+ @Override
+ public Long memory() {
+ return memory;
+ }
+
+ @Override
+ public Long memorySwap() {
+ return memorySwap;
+ }
+
+ @Override
+ public Long cpuShares() {
+ return cpuShares;
+ }
+
+ @Override
+ public String cpuset() {
+ return cpuset;
+ }
+
+ @Override
+ public Boolean attachStdin() {
+ return attachStdin;
+ }
+
+ @Override
+ public Boolean attachStdout() {
+ return attachStdout;
+ }
+
+ @Override
+ public Boolean attachStderr() {
+ return attachStderr;
+ }
+
+ @Override
+ public List<String> portSpecs() {
+ return portSpecs;
+ }
+
+ @Override
+ public Set<String> exposedPorts() {
+ return exposedPorts;
+ }
+
+ @Override
+ public Boolean tty() {
+ return tty;
+ }
+
+ @Override
+ public Boolean openStdin() {
+ return openStdin;
+ }
+
+ @Override
+ public Boolean stdinOnce() {
+ return stdinOnce;
+ }
+
+ @Override
+ public List<String> env() {
+ return env;
+ }
+
+ @Override
+ public List<String> cmd() {
+ return cmd;
+ }
+
+ @Override
+ public String image() {
+ return image;
+ }
+
+ @Override
+ public Set<String> volumes() {
+ return volumes;
+ }
+
+ @Override
+ public String workingDir() {
+ return workingDir;
+ }
+
+ @Override
+ public List<String> entrypoint() {
+ return entrypoint;
+ }
+
+ @Override
+ public Boolean networkDisabled() {
+ return networkDisabled;
+ }
+
+ @Override
+ public List<String> onBuild() {
+ return onBuild;
+ }
+
+ public static class Builder {
+
+ private String hostname;
+ private String domainname;
+ private String user;
+ private Long memory;
+ private Long memorySwap;
+ private Long cpuShares;
+ private String cpuset;
+ private Boolean attachStdin;
+ private Boolean attachStdout;
+ private Boolean attachStderr;
+ private List<String> portSpecs;
+ private Set<String> exposedPorts;
+ private Boolean tty;
+ private Boolean openStdin;
+ private Boolean stdinOnce;
+ private List<String> env;
+ private List<String> cmd;
+ private String image;
+ private Set<String> volumes;
+ private String workingDir;
+ private List<String> entrypoint;
+ private Boolean networkDisabled;
+ private List<String> onBuild;
+
+ public Builder hostname(final String hostname) {
+ this.hostname = hostname;
+ return this;
+ }
+
+ public String hostname() {
+ return hostname;
+ }
+
+ public Builder domainname(final String domainname) {
+ this.domainname = domainname;
+ return this;
+ }
+
+ public String domainname() {
+ return domainname;
+ }
+
+ public Builder user(final String user) {
+ this.user = user;
+ return this;
+ }
+
+ public String user() {
+ return user;
+ }
+
+ public Builder memory(final Long memory) {
+ this.memory = memory;
+ return this;
+ }
+
+ public Long memory() {
+ return memory;
+ }
+
+ public Builder memorySwap(final Long memorySwap) {
+ this.memorySwap = memorySwap;
+ return this;
+ }
+
+ public Long memorySwap() {
+ return memorySwap;
+ }
+
+ public Builder cpuShares(final Long cpuShares) {
+ this.cpuShares = cpuShares;
+ return this;
+ }
+
+ public Long cpuShares() {
+ return cpuShares;
+ }
+
+ public Builder cpuset(final String cpuset) {
+ this.cpuset = cpuset;
+ return this;
+ }
+
+ public String cpuset() {
+ return cpuset;
+ }
+
+ public Builder attachStdin(final Boolean attachStdin) {
+ this.attachStdin = attachStdin;
+ return this;
+ }
+
+ public Boolean attachStdin() {
+ return attachStdin;
+ }
+
+ public Builder attachStdout(final Boolean attachStdout) {
+ this.attachStdout = attachStdout;
+ return this;
+ }
+
+ public Boolean attachStdout() {
+ return attachStdout;
+ }
+
+ public Builder attachStderr(final Boolean attachStderr) {
+ this.attachStderr = attachStderr;
+ return this;
+ }
+
+ public Boolean attachStderr() {
+ return attachStderr;
+ }
+
+ public Builder portSpecs(final List<String> portSpecs) {
+
+ this.portSpecs = new ArrayList<String>(portSpecs);
+ return this;
+ }
+
+ public Builder portSpecs(final String... portSpecs) {
+ this.portSpecs = Arrays.asList(portSpecs);
+ return this;
+ }
+
+ public List<String> portSpecs() {
+ return portSpecs;
+ }
+
+ public Builder exposedPorts(final Set<String> exposedPorts) {
+ this.exposedPorts = new TreeSet<String>(exposedPorts);
+ return this;
+ }
+
+ public Builder exposedPorts(final String... exposedPorts) {
+ this.exposedPorts = new TreeSet<String>(Arrays.asList(exposedPorts));
+ return this;
+ }
+
+ public Set<String> exposedPorts() {
+ return exposedPorts;
+ }
+
+ public Builder tty(final Boolean tty) {
+ this.tty = tty;
+ return this;
+ }
+
+ public Boolean tty() {
+ return tty;
+ }
+
+ public Builder openStdin(final Boolean openStdin) {
+ this.openStdin = openStdin;
+ return this;
+ }
+
+ public Boolean openStdin() {
+ return openStdin;
+ }
+
+ public Builder stdinOnce(final Boolean stdinOnce) {
+ this.stdinOnce = stdinOnce;
+ return this;
+ }
+
+ public Boolean stdinOnce() {
+ return stdinOnce;
+ }
+
+ public Builder env(final List<String> env) {
+ this.env = new ArrayList<String>(env);
+ return this;
+ }
+
+ public Builder env(final String... env) {
+ this.env = Arrays.asList(env);
+ return this;
+ }
+
+ public List<String> env() {
+ return env;
+ }
+
+ public Builder cmd(final List<String> cmd) {
+ this.cmd = new ArrayList<String>(cmd);
+ return this;
+ }
+
+ public Builder cmd(final String... cmd) {
+ this.cmd = Arrays.asList(cmd);
+ return this;
+ }
+
+ public List<String> cmd() {
+ return cmd;
+ }
+
+ public Builder image(final String image) {
+ this.image = image;
+ return this;
+ }
+
+ public String image() {
+ return image;
+ }
+
+ public Builder volumes(final Set<String> volumes) {
+ this.volumes = new TreeSet<String>(volumes);
+ return this;
+ }
+
+ public Builder volumes(final String... volumes) {
+ this.volumes = new TreeSet<String>(Arrays.asList(volumes));
+ return this;
+ }
+
+ public Set<String> volumes() {
+ return volumes;
+ }
+
+ public Builder workingDir(final String workingDir) {
+ this.workingDir = workingDir;
+ return this;
+ }
+
+ public String workingDir() {
+ return workingDir;
+ }
+
+ public Builder entryPoint(final List<String> entrypoint) {
+ this.entrypoint = new ArrayList<String>(entrypoint);
+ return this;
+ }
+
+ public Builder entryPoint(final String... entrypoint) {
+ this.entrypoint = Arrays.asList(entrypoint);
+ return this;
+ }
+
+ public List<String> entryPoint() {
+ return entrypoint;
+ }
+
+ public Builder networkDisabled(final Boolean networkDisabled) {
+ this.networkDisabled = networkDisabled;
+ return this;
+ }
+
+ public Boolean networkDisabled() {
+ return networkDisabled;
+ }
+
+ public Builder onBuild(final List<String> onBuild) {
+ this.onBuild = new ArrayList<String>(onBuild);
+ return this;
+ }
+
+ public Builder onBuild(final String... onBuild) {
+ this.onBuild = Arrays.asList(onBuild);
+ return this;
+ }
+
+ public List<String> onBuild() {
+ return onBuild;
+ }
+
+ public DockerContainerConfig build() {
+ return new DockerContainerConfig(this);
+ }
+
+ }
+}

Back to the top