Interface FieldValues

All Known Subinterfaces:
DBRTimeEvent
All Known Implementing Classes:
CSVEvent, HashMapEvent, PBScalarByte, PBScalarDouble, PBScalarEnum, PBScalarFloat, PBScalarInt, PBScalarShort, PBScalarString, PBV4GenericBytes, PBVectorByte, PBVectorDouble, PBVectorEnum, PBVectorFloat, PBVectorInt, PBVectorShort, PBVectorString, POJOEvent, SimulationEvent

public interface FieldValues
EPICS PVs have additional fields like HIHI, LOLO etc that occasionally change. We stick these changes into the event stream as part of the event. This interface caters to that; however, everything is cast as a string. For performance reasons, occasionally the engine sticks in a complete copy of the field values as they are at that point in time into the event. There is a boolean to distinguish between these fieldvalues and those that represent actual changes.
Author:
mshankar
  • Method Details

    • hasFieldValues

      boolean hasFieldValues()
      Not all events have field values. Does this event have any field values?
      Returns:
      true or false
    • isActualChange

      boolean isActualChange()
      Do the field values in this event represent an actual change?
      Returns:
      true or false
    • getFields

      HashMap<String,String> getFields()
      Get the fields as a HashMap. If we have more than one entry with the same key, one of the entries is returned.
      Returns:
      The fields as a HashMap
    • getFieldValue

      String getFieldValue(String fieldName)
      Parameters:
      fieldName - the field name
      Returns:
      The field value as a string
    • markAsActualChange

      void markAsActualChange()
      Mark this event as containing actual changes to field values.
    • addFieldValue

      void addFieldValue(String fieldName, String fieldValue)
      Parameters:
      fieldName - the field name
      fieldValue - the field value
    • setFieldValues

      void setFieldValues(HashMap<String,String> fieldValues, boolean markAsActualChange)
      Parameters:
      fieldValues - the field values as HashMap
      markAsActualChange - true or false