/******************************************************************************* * Copyright (c) 2011 Oak Ridge National Laboratory. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html ******************************************************************************/ package org.csstudio.data.values; import java.io.Serializable; /** Description of the 'severity' of a value. * <p> * The severity code is usually meant to indicate if the process variable * that provided a value was 'ok', or in various states of warning or error. * <p> * Different implementations might have more or fewer warning and error states. * To allow the implementation of generic tools, we define generic * states 'OK', 'Minor', 'Major' and 'Invalid' as follows: * <ul> * <li>OK - The 'normal' severity, indicating that the process variable is * fine. * <li>Minor - A severity that indicates a minor warning. The process variable * is valid, but its value might be close to some trip threshold. * Some applications might indicate this by displaying the value * in yellow. * <li>Major - A severity that indicates a major warning. The process variable * is valid, but its value might have exceeded some trip threshold. * Some applications might indicate this by displaying the value * in red. * <li>Invalid - A severity that indicates an error. The process variable * is probably invalid. The value could be a bad or old reading, * Some applications might indicate this by displaying the value * in grey. * </ul> * @author Kay Kasemir */ public interface ISeverity extends Serializable { /** @return Returns the textual representation for this severity. */ @Override public String toString(); /** @return Returns <code>true</code> if this severity is in * the 'OK' category. */ public boolean isOK(); /** @return Returns <code>true</code> if this severity is in * the 'Minor' category. */ public boolean isMinor(); /** @return Returns <code>true</code> if this severity is in * the 'Major' category. */ public boolean isMajor(); /** @return Returns <code>true</code> if this severity is in * the 'Invalid' category. */ public boolean isInvalid(); /** @return Returns <code>true</code> if the associated value is meaningful, * <code>false</code> if the value represents for example a 'disconnected' * state and thus has no numeric value. */ public boolean hasValue(); }