package com.hubspot.singularity;
import org.apache.mesos.Protos.TaskStatus;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.hubspot.mesos.MesosUtils;
public class SingularityTaskStatusHolder {
private final Optional<TaskStatus> taskStatus;
private final SingularityTaskId taskId;
private final long serverTimestamp;
private final String serverId;
private final Optional<String> slaveId;
@JsonCreator
public SingularityTaskStatusHolder(@JsonProperty("taskId") SingularityTaskId taskId, @JsonProperty("taskStatus") Optional<TaskStatus> taskStatus, @JsonProperty("serverTimestamp") long serverTimestamp, @JsonProperty("serverId") String serverId, @JsonProperty("slaveId") Optional<String> slaveId) {
this.taskId = taskId;
this.taskStatus = taskStatus;
this.serverTimestamp = serverTimestamp;
this.serverId = serverId;
this.slaveId = slaveId;
}
public Optional<TaskStatus> getTaskStatus() {
return taskStatus;
}
public SingularityTaskId getTaskId() {
return taskId;
}
public long getServerTimestamp() {
return serverTimestamp;
}
public String getServerId() {
return serverId;
}
public Optional<String> getSlaveId() {
return slaveId;
}
@Override
public String toString() {
return "SingularityTaskStatusHolder{" +
"taskStatus=" + MesosUtils.formatForLogging(taskStatus) +
", taskId=" + taskId +
", serverTimestamp=" + serverTimestamp +
", serverId='" + serverId + '\'' +
", slaveId=" + slaveId +
'}';
}
}