Interface ValueProcessor

All Known Subinterfaces:
PersistentValueProcessor
All Known Implementing Classes:
AbstractValueProcessor, ANDValueProcessor, CommandValueProcessor, DefaultAlarmProcessor, EnumToBitsProcessor, EnumValueProcessor, ForwardValueProcessor, HeartbeatValueProcessor, HostPingAlarmProcessor, InterlockValueProcessor, LinkedValueProcessor, ListManagementProcessor, ManagementProcessor, MemorySwitchValueProcessor, MemoryValueProcessor, OnDemandValueProcessor, ORValueProcessor, PingManagementProcessor, PolyTransValueProcessor, RunningAverageValueProcessor, SemaphoreProcessor, ShutdownManagementProcessor, SimAlarmProcessor, StateWatchdogProcessor, StatusCheckAlarmProcessor, SummaryAlarmProcessor, SystemProcessWatchdogProcessor, TimeCounterProcessor, TimeValueProcessor, UpdateRateProcessor, ValueCheckProcessor, ValueDiffAlarmProcessor, ValueLevelAlarmProcessor

public interface ValueProcessor

ValueProcessor interface.

Author:
igor@scictrl.com
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Record has now reference to Database.
    void
    configure(Record record, org.apache.commons.configuration.HierarchicalConfiguration config)
    Configures the internals of value processor, provides reference to parent record and to configuration with root inside processor tag.
    getName.
    getRecord.
    gov.aps.jca.dbr.TimeStamp
    Timestamp indicates last time value has been updated or confirmed.
    long
    Return trigger interval in milliseconds, which indicates on which interval this processor wants to be processed by Database.
    gov.aps.jca.dbr.DBRType
    Returns preferred type of the processor.
    getValue.
    void
    Called by Database in interval set by the trigger parameter in milliseconds.
    void
    Sets new value to the processor.
  • Method Details

    • configure

      void configure(Record record, org.apache.commons.configuration.HierarchicalConfiguration config)
      Configures the internals of value processor, provides reference to parent record and to configuration with root inside processor tag. Parent record is not yet initialized, so does not have reference to Database, the Database reference will be available during activate call.
      Parameters:
      record - the parent record.
      config - configuration with room inside processor tag.
    • setValue

      void setValue(Object value)
      Sets new value to the processor. If value is different from current processor value, then event is fired. Timestamp is updated regardless if value is changed, since timestamp indicates last value update or confirmation.
      Parameters:
      value - a Object object
    • getValue

      Object getValue()

      getValue.

      Returns:
      a Object object
    • getTimestamp

      gov.aps.jca.dbr.TimeStamp getTimestamp()
      Timestamp indicates last time value has been updated or confirmed. This does not necessary means value change.
      Returns:
      a TimeStamp object
    • getTrigger

      long getTrigger()
      Return trigger interval in milliseconds, which indicates on which interval this processor wants to be processed by Database. If trigger is 0 or less, then it means that no processing is required.
      Returns:
      update interval in milliseconds or disabled if 0.
    • process

      void process()
      Called by Database in interval set by the trigger parameter in milliseconds. Not called if trigger in 0.
    • activate

      void activate()
      Record has now reference to Database. processor might want to connect to other records on this server or PVs on other servers. This can not be done until all records from configuration has been loaded. Call to this method signals to the processor that records has been loaded and linking to other values can be commenced.
    • getName

      String getName()

      getName.

      Returns:
      a String object
    • getRecord

      Record getRecord()

      getRecord.

      Returns:
      a Record object
    • getType

      gov.aps.jca.dbr.DBRType getType()
      Returns preferred type of the processor. Alternatively the processor can inspect actual type of parent record and adopt. This type will overwrite type from record, when record will be initialized with this processor.
      Returns:
      the type which processor works with, possibly same as associated record.