package org.csstudio.dal.simple.impl; import org.csstudio.dal.DynamicValueCondition; import org.csstudio.dal.DynamicValueState; import org.csstudio.dal.Timestamp; /** * Utility methods for accessing characteristics and dealing with DAL * properties. * * @author Sven Wende * */ public class DynamicValueConditionConverterUtil { /** * Extracts EPICS favored <code>Timestamp</code> info for a DAL <code>DynamicValueCondition</code>. * @param cond DAL <code>DynamicValueCondition</code> * @return EPICS favored <code>Timestamp</code> info for DAL condition */ public static final Timestamp extractTimestampInfo(final DynamicValueCondition cond) { return cond.getTimestamp(); } /** * Extracts EPICS favored status info string for a DAL <code>DynamicValueCondition</code>. * @param cond DAL <code>DynamicValueCondition</code> * @return EPICS favored status info string for DAL condition */ public static final String extractStatusInfo(final DynamicValueCondition cond) { if (cond == null || cond.getDescription() == null) { return "N/A"; } return cond.getDescription(); } /** * Extracts EPICS favored severity info string for a DAL <code>DynamicValueCondition</code>. * @param cond DAL <code>DynamicValueCondition</code> * @return EPICS favored severity info string for DAL condition */ public static final String extractSeverityInfo(final DynamicValueCondition condition) { if (condition.isNormal()) { return DynamicValueState.NORMAL.toString(); } if (condition.isWarning()) { return DynamicValueState.WARNING.toString(); } if (condition.isAlarm()) { return DynamicValueState.ALARM.toString(); } if (condition.isError()) { return DynamicValueState.ERROR.toString(); } return "UNKNOWN"; } }