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, value
Fields inherited from class org.scictrl.csshell.epics.server.processor.AbstractValueProcessor
log, record, trigger, type
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
activate()
Record has now reference to Database.void
Configures the internals of value processor, provides reference to parent record and to configuration with root inside processor tag.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.void
void
Sets 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, setFixed
Methods 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:
configure
in interfaceValueProcessor
- Overrides:
configure
in 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:
activate
in interfaceValueProcessor
- Overrides:
activate
in 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:
setValue
in interfaceValueProcessor
- Overrides:
setValue
in classMemoryValueProcessor
- Parameters:
value
- aObject
object
-
propertyChange
- Specified by:
propertyChange
in interfacePropertyChangeListener
-