package org.apereo.cas.monitor; import java.util.HashMap; import java.util.Map; /** * Describes the overall health status of the CAS server as determined by composite status values. * * @author Marvin S. Addison * @since 3.5.0 */ public class HealthStatus extends Status { /** Map of names (e.g. monitor that produced it) to status information. */ private Map<String, Status> details; /** * Creates a new status object with the given code. * * @param code Status code. * @param detailMap Map of names to status information. A reasonable name would be, for example, the name of * the monitor that produced it. * @see #getCode() */ public HealthStatus(final StatusCode code, final Map<String, Status> detailMap) { super(code); this.details = new HashMap<>(detailMap); } /** * Gets the status details comprising the individual health checks performed for overall health status. * * @return Map of named status items to status information for each check performed. */ public Map<String, Status> getDetails() { return this.details; } }