
pl.allegro.tech.hermes.api.MonitoringDetails Maven / Gradle / Ivy
package pl.allegro.tech.hermes.api;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.NotNull;
import java.util.Objects;
public final class MonitoringDetails {
public static final MonitoringDetails EMPTY = new MonitoringDetails(Severity.NON_IMPORTANT, "");
@NotNull private final Severity severity;
@NotNull private final String reaction;
@JsonCreator
public MonitoringDetails(
@JsonProperty("severity") Severity severity, @JsonProperty("reaction") String reaction) {
this.severity = severity;
this.reaction = reaction;
}
public Severity getSeverity() {
return severity;
}
public String getReaction() {
return reaction;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof MonitoringDetails)) {
return false;
}
MonitoringDetails that = (MonitoringDetails) o;
return severity == that.severity && Objects.equals(reaction, that.reaction);
}
@Override
public int hashCode() {
return Objects.hash(severity, reaction);
}
@Override
public String toString() {
return "MonitoringDetails{" + "severity=" + severity + ", reaction='" + reaction + '\'' + '}';
}
public enum Severity {
@JsonProperty("CRITICAL")
CRITICAL,
@JsonProperty("IMPORTANT")
IMPORTANT,
@JsonProperty("NON_IMPORTANT")
NON_IMPORTANT
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy