package com.github.dockerjava.core.command; import static com.google.common.base.Preconditions.checkNotNull; import java.io.InputStream; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.annotation.JsonProperty; import com.github.dockerjava.api.async.ResultCallback; import com.github.dockerjava.api.command.ExecStartCmd; import com.github.dockerjava.api.exception.NotFoundException; import com.github.dockerjava.api.model.Frame; @JsonInclude(Include.NON_NULL) public class ExecStartCmdImpl extends AbstrAsyncDockerCmd<ExecStartCmd, Frame> implements ExecStartCmd { @JsonIgnore private String execId; @JsonProperty("Detach") private Boolean detach; @JsonProperty("Tty") private Boolean tty; @JsonIgnore private InputStream stdin; public ExecStartCmdImpl(ExecStartCmd.Exec exec, String execId) { super(exec); withExecId(execId); } @Override public String getExecId() { return execId; } @Override public ExecStartCmd withExecId(String execId) { checkNotNull(execId, "execId was not specified"); this.execId = execId; return this; } @Override public Boolean hasDetachEnabled() { return detach; } @Override public Boolean hasTtyEnabled() { return tty; } @Override @JsonIgnore public InputStream getStdin() { return stdin; } @Override public ExecStartCmd withDetach(Boolean detach) { this.detach = detach; return this; } @Override public ExecStartCmd withTty(Boolean tty) { this.tty = tty; return this; } @Override public ExecStartCmd withStdIn(InputStream stdin) { this.stdin = stdin; return this; } /** * @throws NotFoundException * No such exec instance */ @Override public <T extends ResultCallback<Frame>> T exec(T resultCallback) { return super.exec(resultCallback); } }