package com.hubspot.mesos.json; import java.util.Map; import java.util.Objects; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; public class MesosMasterSlaveObject { private final String id; private final String pid; private final String hostname; private final Map<String, String> attributes; private final long registeredTime; private final MesosResourcesObject resources; private final MesosResourcesObject usedResources; private final MesosResourcesObject offeredResources; private final MesosResourcesObject reservedResources; private final MesosResourcesObject unreservedResources; private final String version; private final boolean active; @JsonCreator public MesosMasterSlaveObject(@JsonProperty("id") String id, @JsonProperty("pid") String pid, @JsonProperty("hostname") String hostname, @JsonProperty("registered_time") long registeredTime, @JsonProperty("resources") MesosResourcesObject resources, @JsonProperty("attributes") Map<String, String> attributes, @JsonProperty("used_resources") MesosResourcesObject usedResources, @JsonProperty("offered_resources") MesosResourcesObject offeredResources, @JsonProperty("reserved_resources") MesosResourcesObject reservedResources, @JsonProperty("unreserved_resources") MesosResourcesObject unreservedResources, @JsonProperty("version") String version, @JsonProperty("active") boolean active) { this.id = id; this.pid = pid; this.hostname = hostname; this.registeredTime = registeredTime; this.resources = resources; this.attributes = attributes; this.usedResources = usedResources; this.offeredResources = offeredResources; this.reservedResources = reservedResources; this.unreservedResources = unreservedResources; this.version = version; this.active = active; } public Map<String, String> getAttributes() { return attributes; } public String getId() { return id; } public String getPid() { return pid; } public String getHostname() { return hostname; } public long getRegisteredTime() { return registeredTime; } public MesosResourcesObject getResources() { return resources; } public MesosResourcesObject getUsedResources() { return usedResources; } public MesosResourcesObject getOfferedResources() { return offeredResources; } public MesosResourcesObject getReservedResources() { return reservedResources; } public MesosResourcesObject getUnreservedResources() { return unreservedResources; } public String getVersion() { return version; } public boolean isActive() { return active; } @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } MesosMasterSlaveObject that = (MesosMasterSlaveObject) o; return registeredTime == that.registeredTime && active == that.active && Objects.equals(id, that.id) && Objects.equals(pid, that.pid) && Objects.equals(hostname, that.hostname) && Objects.equals(attributes, that.attributes) && Objects.equals(resources, that.resources) && Objects.equals(usedResources, that.usedResources) && Objects.equals(offeredResources, that.offeredResources) && Objects.equals(reservedResources, that.reservedResources) && Objects.equals(unreservedResources, that.unreservedResources) && Objects.equals(version, that.version); } @Override public int hashCode() { return Objects.hash(id, pid, hostname, attributes, registeredTime, resources, usedResources, offeredResources, reservedResources, unreservedResources, version, active); } @Override public String toString() { return "MesosMasterSlaveObject{" + "id='" + id + '\'' + ", pid='" + pid + '\'' + ", hostname='" + hostname + '\'' + ", attributes=" + attributes + ", registeredTime=" + registeredTime + ", resources=" + resources + ", usedResources=" + usedResources + ", offeredResources=" + offeredResources + ", reservedResources=" + reservedResources + ", unreservedResources=" + unreservedResources + ", version='" + version + '\'' + ", active=" + active + '}'; } }