Class AbstractNodePropertyManager.PropertyNode
- java.lang.Object
-
- com.inductiveautomation.ignition.gateway.tags.evaluation.subscriptions.AbstractNodePropertyManager.PropertyNode
-
- All Implemented Interfaces:
Node
- Enclosing class:
- AbstractNodePropertyManager
protected class AbstractNodePropertyManager.PropertyNode extends java.lang.Object implements Node
-
-
Constructor Summary
Constructors Constructor Description PropertyNode(Property<?> prop)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
read(java.util.concurrent.CompletableFuture<QualifiedValue> cf, SecurityContext security, java.util.Optional<ArrayIndex> arrayIndex)
If the node supports manual reading, it should override this function.void
setLeased(boolean value)
This is called by the subscription system to indicate that there is at least one "heavy-weight" listener for the node.void
setSubscription(NodeSubscription subscription)
Set by the subscription system, this is the connector between the node and all other subscriptions.java.lang.String
toString()
void
write(java.util.concurrent.CompletableFuture<QualityCode> cf, SecurityContext security, java.lang.Object value, java.util.Optional<ArrayIndex> arrayIndex)
If the node supports writing, it should override this function.
-
-
-
Constructor Detail
-
PropertyNode
public PropertyNode(Property<?> prop)
-
-
Method Detail
-
setSubscription
public void setSubscription(NodeSubscription subscription)
Description copied from interface:Node
Set by the subscription system, this is the connector between the node and all other subscriptions. Value changes should be sent through the QualifiedValueListener#valueChanged call. When the node knows that it is being unloaded, deleted, or otherwise made irrelevant, it must call disconnectNode on the subscription to notify the listeners that the node is disappearing.- Specified by:
setSubscription
in interfaceNode
-
setLeased
public void setLeased(boolean value)
Description copied from interface:Node
This is called by the subscription system to indicate that there is at least one "heavy-weight" listener for the node. A heavy-weight listener is one that cares about receiving all value updates for the purposes of actual data processing, as opposed to other listeners that care about the vaue, but don't want to trigger heavy execution unnecessarily. For example, the nodes of the tag browse tree will display values, but should not trigger heavier "leased" based execution. In many cases, the exact nature of what this means depends on the tag group or other settings on the node.
-
read
public void read(java.util.concurrent.CompletableFuture<QualifiedValue> cf, SecurityContext security, java.util.Optional<ArrayIndex> arrayIndex)
Description copied from interface:Node
If the node supports manual reading, it should override this function. Make sure to complete the CompletableFuture when the read is finished.- Specified by:
read
in interfaceNode
- Parameters:
cf
- The passed CompletableFuture will be completed when the read is completesecurity
- A SecurityContext that is used to restrict tag read access as neededarrayIndex
- If set to a non-null value, this will let the underlying system know where to set the passed value in an array.
-
write
public void write(java.util.concurrent.CompletableFuture<QualityCode> cf, SecurityContext security, java.lang.Object value, java.util.Optional<ArrayIndex> arrayIndex)
Description copied from interface:Node
If the node supports writing, it should override this function. Make sure to complete the CompletableFuture when the write is finished.- Specified by:
write
in interfaceNode
- Parameters:
cf
- The passed CompletableFuture will be completed when the write is completesecurity
- A SecurityContext that is used to restrict tag write access as neededvalue
- The object that is to be written to the tagarrayIndex
- If set to a non-null value, this will let the underlying system know where to set the passed value in an array.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-