package org.distributeme.core.lifecycle; import java.io.Serializable; /** * HealthStatus of a service contains of a state and a message. * * @author lrosenberg * @version $Id: $Id */ public class HealthStatus implements Serializable { /** * SerialVersionUID. */ private static final long serialVersionUID = 1L; /** * Health state. */ private Health health; /** * Custom (info/debug) message. */ private String message; /** * Constant for status OK. */ private static final HealthStatus OK = new HealthStatus(Health.GREEN, "ok"); /** * Creates a new health status. * * @param aHealth a {@link org.distributeme.core.lifecycle.Health} object. * @param aMessage a {@link java.lang.String} object. */ public HealthStatus(Health aHealth, String aMessage){ health = aHealth; message = aMessage; } /** * <p>Getter for the field <code>health</code>.</p> * * @return a {@link org.distributeme.core.lifecycle.Health} object. */ public Health getHealth(){ return health; } /** * <p>Getter for the field <code>message</code>.</p> * * @return a {@link java.lang.String} object. */ public String getMessage(){ return message; } /** {@inheritDoc} */ @Override public String toString(){ return getHealth()+" "+getMessage(); } /** * Factory method for default status OK. * * @return a {@link org.distributeme.core.lifecycle.HealthStatus} object. */ public static final HealthStatus OK(){ return OK; } }