package de.otto.edison.status.domain;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import de.otto.edison.annotations.Beta;
import java.util.function.Supplier;
import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_EMPTY;
@JsonInclude(NON_EMPTY)
@Beta
public class ClusterInfo {
private final Supplier<String> color;
private final Supplier<String> colorState;
public ClusterInfo(final String color, final String colorState) {
this.color = () -> color;
this.colorState = () -> colorState;
}
public ClusterInfo(final Supplier<String> colorSupplier, final Supplier<String> colorStateSupplier) {
color = colorSupplier;
colorState = colorStateSupplier;
}
public String getColor() {
return color.get();
}
public String getColorState() {
return colorState.get();
}
@JsonIgnore
public boolean isEnabled() {
return !getColor().isEmpty() || !getColorState().isEmpty();
}
}