Class MemorySwitchValueProcessor
java.lang.Object
org.scictrl.csshell.epics.server.processor.AbstractValueProcessor
org.scictrl.csshell.epics.server.processor.MemoryValueProcessor
org.scictrl.csshell.epics.server.processor.MemorySwitchValueProcessor
- All Implemented Interfaces:
PropertyChangeListener,EventListener,ValueProcessor
public class MemorySwitchValueProcessor
extends MemoryValueProcessor
implements PropertyChangeListener
Value processor, which sets forward PVs to off/on, remembers of forward PV was OOn before switching on and keeps that state.
- Author:
- igor@scictrl.com
-
Field Summary
Fields inherited from class org.scictrl.csshell.epics.server.processor.MemoryValueProcessor
fixed, lastChangeTimestamp, timestamp, valueFields inherited from class org.scictrl.csshell.epics.server.processor.AbstractValueProcessor
log, record, trigger, type -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidactivate()Record has now reference to Database.voidConfigures the internals of value processor, provides reference to parent record and to configuration with root inside processor tag.static final MemorySwitchValueProcessornewProcessor(String name, gov.aps.jca.dbr.DBRType type, String description, String link) Creates processor, configures it and returns it embedded within the returned record.voidvoidSets new value to the processor.Methods inherited from class org.scictrl.csshell.epics.server.processor.MemoryValueProcessor
_forceValueUpdateEvent, _setValue, _setValue, _setValue, _setValue, convert, getChangeAccessTimestamp, getTimestamp, getValue, getValueAsBoolean, isFixed, newBooleanProcessor, newDoubleProcessor, newProcessor, newProcessor, setFixedMethods inherited from class org.scictrl.csshell.epics.server.processor.AbstractValueProcessor
getName, getRecord, getTrigger, getType, process, toString
-
Constructor Details
-
MemorySwitchValueProcessor
public MemorySwitchValueProcessor()Constructor for ForwardValueProcessor.
-
-
Method Details
-
newProcessor
public static final MemorySwitchValueProcessor newProcessor(String name, gov.aps.jca.dbr.DBRType type, String description, String link) Creates processor, configures it and returns it embedded within the returned record.- Parameters:
name- name of the returned recordtype- type of the returned recorddescription- the description of the recordlink- the link of the returned processor- Returns:
- new record with embedded and configured processor
-
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:
configurein interfaceValueProcessor- Overrides:
configurein classMemoryValueProcessor- Parameters:
record- the parent record.config- configuration with room inside processor tag.
-
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:
activatein interfaceValueProcessor- Overrides:
activatein classMemoryValueProcessor
-
setValue
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:
setValuein interfaceValueProcessor- Overrides:
setValuein classMemoryValueProcessor- Parameters:
value- aObjectobject
-
propertyChange
- Specified by:
propertyChangein interfacePropertyChangeListener
-