de.otto.edison.status.domain.Expectations Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of edison-status Show documentation
Show all versions of edison-status Show documentation
Status library of the edison-microservice project.
package de.otto.edison.status.domain;
import net.jcip.annotations.Immutable;
/**
* Describes expectations about another service.
*
* Created by guido on 08.01.16.
*/
@Immutable
public class Expectations {
public final Availability availability;
public final Performance performance;
public static Expectations unspecifiedExpectations() {
return new Expectations(Availability.NOT_SPECIFIED, Performance.NOT_SPECIFIED);
}
public static Expectations lowExpectations() {
return new Expectations(Availability.LOW, Performance.LOW);
}
public static Expectations highExpectations() {
return new Expectations(Availability.HIGH, Performance.HIGH);
}
public static Expectations expects(final Availability availability,
final Performance performance) {
return new Expectations(availability, performance);
}
private Expectations(final Availability availability,
final Performance performance) {
this.availability = availability;
this.performance = performance;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Expectations that = (Expectations) o;
if (availability != that.availability) return false;
return performance == that.performance;
}
@Override
public int hashCode() {
int result = availability != null ? availability.hashCode() : 0;
result = 31 * result + (performance != null ? performance.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "Expectations{" +
"availability=" + availability +
", performance=" + performance +
'}';
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy