package com.hubspot.singularity;
import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.Optional;
import com.hubspot.singularity.api.SingularityPriorityFreeze;
public class SingularityPriorityFreezeParent {
private final SingularityPriorityFreeze priorityFreeze;
private final long timestamp;
private final Optional<String> user;
@JsonCreator
public SingularityPriorityFreezeParent(@JsonProperty("priorityFreeze") SingularityPriorityFreeze priorityFreeze, @JsonProperty("timestamp") long timestamp, @JsonProperty("user") Optional<String> user) {
this.priorityFreeze = priorityFreeze;
this.timestamp = timestamp;
this.user = user;
}
public SingularityPriorityFreeze getPriorityFreeze() {
return priorityFreeze;
}
public long getTimestamp() {
return timestamp;
}
public Optional<String> getUser() {
return user;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
SingularityPriorityFreezeParent that = (SingularityPriorityFreezeParent) o;
return timestamp == that.timestamp &&
Objects.equals(priorityFreeze, that.priorityFreeze) &&
Objects.equals(user, that.user);
}
@Override
public int hashCode() {
return Objects.hash(priorityFreeze, timestamp, user);
}
@Override
public String toString() {
return "SingularityPriorityFreezeParent[" +
"priorityFreeze=" + priorityFreeze +
", timestamp=" + timestamp +
", user=" + user +
']';
}
}