package org.apereo.cas.monitor; /** * A monitor observes a resource and reports its status. * * @author Marvin S. Addison * @param <S> the generic type of the monitor * @since 3.5.0 */ public interface Monitor<S extends Status> { /** * Gets the name of the monitor. * * @return Monitor name. */ String getName(); /** * Observes the monitored resource and reports the status. * * @return Status of monitored resource. */ S observe(); }