package com.hubspot.mesos.json;
import java.util.List;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
public class MesosFrameworkObject {
private final String name;
private final String id;
private final String pid;
private final String hostname;
private final String webuiUrl;
private final String user;
private final String role;
private final long registeredTime;
private final long unregisteredTime;
private final long reregisteredTime;
private final boolean active;
private final boolean checkpoint;
private final MesosResourcesObject resources;
private final MesosResourcesObject usedResources;
private final MesosResourcesObject offeredResources;
private final List<MesosTaskObject> tasks;
@JsonCreator
public MesosFrameworkObject(@JsonProperty("name") String name, @JsonProperty("id") String id, @JsonProperty("pid") String pid, @JsonProperty("hostname") String hostname, @JsonProperty("webui_url") String webuiUrl,
@JsonProperty("user") String user, @JsonProperty("role") String role, @JsonProperty("registered_time") long registeredTime, @JsonProperty("unregistered_time") long unregisteredTime, @JsonProperty("reregistered_time") long reregisteredTime,
@JsonProperty("active") boolean active, @JsonProperty("checkpoint") boolean checkpoint, @JsonProperty("resources") MesosResourcesObject resources, @JsonProperty("used_resources") MesosResourcesObject usedResources,
@JsonProperty("offered_resources") MesosResourcesObject offeredResources, @JsonProperty("tasks") List<MesosTaskObject> tasks) {
this.name = name;
this.id = id;
this.pid = pid;
this.hostname = hostname;
this.webuiUrl = webuiUrl;
this.user = user;
this.role = role;
this.checkpoint = checkpoint;
this.registeredTime = registeredTime;
this.unregisteredTime = unregisteredTime;
this.reregisteredTime = reregisteredTime;
this.resources = resources;
this.usedResources = usedResources;
this.offeredResources = offeredResources;
this.tasks = tasks;
this.active = active;
}
public String getName() {
return name;
}
public String getId() {
return id;
}
public String getPid() {
return pid;
}
public String getHostname() {
return hostname;
}
public String getWebuiUrl() {
return webuiUrl;
}
public String getUser() {
return user;
}
public String getRole() {
return role;
}
public long getRegisteredTime() {
return registeredTime;
}
public long getUnregisteredTime() {
return unregisteredTime;
}
public long getReregisteredTime() {
return reregisteredTime;
}
public boolean isActive() {
return active;
}
public boolean isCheckpoint() {
return checkpoint;
}
public MesosResourcesObject getResources() {
return resources;
}
public MesosResourcesObject getUsedResources() {
return usedResources;
}
public MesosResourcesObject getOfferedResources() {
return offeredResources;
}
public List<MesosTaskObject> getTasks() {
return tasks;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
MesosFrameworkObject that = (MesosFrameworkObject) o;
return registeredTime == that.registeredTime &&
unregisteredTime == that.unregisteredTime &&
reregisteredTime == that.reregisteredTime &&
active == that.active &&
checkpoint == that.checkpoint &&
Objects.equals(name, that.name) &&
Objects.equals(id, that.id) &&
Objects.equals(pid, that.pid) &&
Objects.equals(hostname, that.hostname) &&
Objects.equals(webuiUrl, that.webuiUrl) &&
Objects.equals(user, that.user) &&
Objects.equals(role, that.role) &&
Objects.equals(resources, that.resources) &&
Objects.equals(usedResources, that.usedResources) &&
Objects.equals(offeredResources, that.offeredResources) &&
Objects.equals(tasks, that.tasks);
}
@Override
public int hashCode() {
return Objects.hash(name, id, pid, hostname, webuiUrl, user, role, registeredTime, unregisteredTime, reregisteredTime, active, checkpoint, resources, usedResources, offeredResources, tasks);
}
@Override
public String toString() {
return "MesosFrameworkObject{" +
"name='" + name + '\'' +
", id='" + id + '\'' +
", pid='" + pid + '\'' +
", hostname='" + hostname + '\'' +
", webuiUrl='" + webuiUrl + '\'' +
", user='" + user + '\'' +
", role='" + role + '\'' +
", registeredTime=" + registeredTime +
", unregisteredTime=" + unregisteredTime +
", reregisteredTime=" + reregisteredTime +
", active=" + active +
", checkpoint=" + checkpoint +
", resources=" + resources +
", usedResources=" + usedResources +
", offeredResources=" + offeredResources +
", tasks=" + tasks +
'}';
}
}