
com.hubspot.mesos.SingularityContainerInfo Maven / Gradle / Ivy
The newest version!
package com.hubspot.mesos;
import java.util.List;
import org.apache.mesos.Protos.ContainerInfo.Type;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
public class SingularityContainerInfo {
private final SingularityContainerType type;
private final Optional> volumes;
private final Optional docker;
@JsonCreator
public SingularityContainerInfo(
@JsonProperty("type") SingularityContainerType type,
@JsonProperty("volumes") Optional> volumes,
@JsonProperty("docker") Optional docker) {
this.type = type;
this.volumes = volumes;
this.docker = docker;
}
@Deprecated
public SingularityContainerInfo(Type type, Optional> volumes, Optional docker) {
this(SingularityContainerType.valueOf(type.toString()), volumes, docker);
}
public SingularityContainerType getType() {
return type;
}
public Optional> getVolumes() {
return volumes;
}
public Optional getDocker() {
return docker;
}
@Override
public String toString() {
return String.format("ContainerInfo [type=%s, volumes=%s, docker=%s]", type, volumes, docker);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
SingularityContainerInfo that = (SingularityContainerInfo) o;
if (!type.equals(that.type)) {
return false;
}
if (!volumes.equals(that.volumes)) {
return false;
}
if (!docker.equals(that.docker)) {
return false;
}
return true;
}
@Override
public int hashCode() {
int result = type.hashCode();
result = 31 * result + volumes.hashCode();
result = 31 *result + docker.hashCode();
return result;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy