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;
public class SingularityDisabledAction {
private final SingularityAction type;
private final String message;
private final Optional<String> user;
private final boolean automaticallyClearable;
private final Optional<Long> expiresAt;
@JsonCreator
public SingularityDisabledAction(@JsonProperty("type") SingularityAction type, @JsonProperty("message") String message, @JsonProperty("user") Optional<String> user,
@JsonProperty("automaticallyClearable") boolean automaticallyClearable, @JsonProperty("expiresAt") Optional<Long> expiresAt) {
this.type = type;
this.message = message;
this.user = user;
this.automaticallyClearable = automaticallyClearable;
this.expiresAt = expiresAt;
}
public SingularityAction getType() {
return type;
}
public String getMessage() {
return message;
}
public Optional<String> getUser() {
return user;
}
public boolean isAutomaticallyClearable() {
return automaticallyClearable;
}
public Optional<Long> getExpiresAt() {
return expiresAt;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
SingularityDisabledAction that = (SingularityDisabledAction) o;
return automaticallyClearable == that.automaticallyClearable &&
type == that.type &&
Objects.equals(message, that.message) &&
Objects.equals(user, that.user) &&
Objects.equals(expiresAt, that.expiresAt);
}
@Override
public int hashCode() {
return Objects.hash(type, message, user, automaticallyClearable, expiresAt);
}
@Override
public String toString() {
return "SingularityDisabledAction{" +
"type=" + type +
", message='" + message + '\'' +
", user=" + user +
", automaticallyClearable=" + automaticallyClearable +
", expiresAt=" + expiresAt +
'}';
}
}