Class EnumValueProcessor

All Implemented Interfaces:
PropertyChangeListener, EventListener, ValueProcessor

public class EnumValueProcessor extends MemoryValueProcessor implements PropertyChangeListener

EnumValueProcessor class.

Author:
igor@scictrl.com
  • Constructor Details

    • EnumValueProcessor

      public EnumValueProcessor()

      Constructor for EnumValueProcessor.

  • Method Details

    • newProcessor

      public static final EnumValueProcessor newProcessor(String name, String description, short value, boolean fixed, String[] enumLabels)

      newProcessor.

      Parameters:
      name - a String object
      description - a String object
      value - a short
      fixed - a boolean
      enumLabels - an array of String objects
      Returns:
      a EnumValueProcessor object
    • configure

      public 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.
      Specified by:
      configure in interface ValueProcessor
      Overrides:
      configure in class MemoryValueProcessor
      Parameters:
      record - the parent record.
      config - configuration with room inside processor tag.
    • propertyChange

      public void propertyChange(PropertyChangeEvent evt)
      Specified by:
      propertyChange in interface PropertyChangeListener
    • activate

      public 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.
      Specified by:
      activate in interface ValueProcessor
      Overrides:
      activate in class MemoryValueProcessor
    • setValue

      public 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. This method is used by remote EPICS entity or other record within same Database. By definition calling setValue must always update value, because further processing must be triggered.
      Specified by:
      setValue in interface ValueProcessor
      Overrides:
      setValue in class MemoryValueProcessor
      Parameters:
      value - a Object object