Class ScalingActorFactory.ScalingActor
- java.lang.Object
-
- com.inductiveautomation.ignition.gateway.tags.actors.factories.scaling.ScalingActorFactory.ScalingActor
-
- All Implemented Interfaces:
Diagnosable
,TagActor
,WriteProcessor
- Enclosing class:
- ScalingActorFactory
protected class ScalingActorFactory.ScalingActor extends java.lang.Object implements TagActor, WriteProcessor, Diagnosable
-
-
Field Summary
-
Fields inherited from interface com.inductiveautomation.ignition.gateway.tags.evaluation.WriteProcessor
WRITE_HANDLED_SENTINEL
-
-
Constructor Summary
Constructors Constructor Description ScalingActor(ValueScaler vs)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ActorClassification
actorClassification()
The classification of this actor.void
addBrowseTraits(NodeDescription.NodeDescriptionBuilder desc)
Gives the actor a chance to report NodeAttribute traits for the tag it belongs to.boolean
attemptConfiguration(NodeContext context, VersionedPropertySet config)
Provides an opportunity to update the running actor on the fly.void
destroy(NodeContext context, ShutdownReason reason)
Override to perform cleanup for actors that have set up extra configuration to process values.void
initialize(NodeContext context, PropertySet config)
Override to set up any extra configuration that is needed before the actor can process a value.QualifiedValue
processValue(QualifiedValue value)
The value is generated by the source actor and then passed along to the next actor.java.lang.Object
processWrite(NodeContext context, java.util.concurrent.CompletableFuture<QualityCode> cf, SecurityContext security, java.lang.Object value, java.util.Optional<ArrayIndex> arrayIndex)
The returned value is passed to the next actor, if the future has not been completed.void
sampleDiagnostics(DiagnosticsSample sample)
Provides the sample upon which the object can set diagnostics information.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.inductiveautomation.ignition.gateway.tags.evaluation.TagActor
onLeasedChanged, onPathChanged
-
-
-
-
Constructor Detail
-
ScalingActor
public ScalingActor(ValueScaler vs)
-
-
Method Detail
-
actorClassification
public ActorClassification actorClassification()
Description copied from interface:TagActor
The classification of this actor. A tag can only have one actor per classification.- Specified by:
actorClassification
in interfaceTagActor
-
initialize
public void initialize(NodeContext context, PropertySet config)
Description copied from interface:TagActor
Override to set up any extra configuration that is needed before the actor can process a value. It should be expected that the configuration has NOT been altered since the actor was instantiated.- Specified by:
initialize
in interfaceTagActor
-
destroy
public void destroy(NodeContext context, ShutdownReason reason)
Description copied from interface:TagActor
Override to perform cleanup for actors that have set up extra configuration to process values.
-
attemptConfiguration
public boolean attemptConfiguration(NodeContext context, VersionedPropertySet config)
Description copied from interface:TagActor
Provides an opportunity to update the running actor on the fly. If FALSE is returned from this class, the actor will be uninitialized, and if appropriate, a new one created.Therefore, the implementation should also verify that the configuration is still valid for this actor.
The config object provide is the entire configuration for the tag. However, it is provided as a Diff, which is relative to the last time configuration was attempted. This allows actors to quickly see if relevant properties have changed. Many actors will choose to simply rebuild themselves if the properties have changed, but given how often this function is called, it's important not to rebuild unnecessarily (hence, check the changed properties).
- Specified by:
attemptConfiguration
in interfaceTagActor
-
addBrowseTraits
public void addBrowseTraits(NodeDescription.NodeDescriptionBuilder desc)
Description copied from interface:TagActor
Gives the actor a chance to report NodeAttribute traits for the tag it belongs to. NodeAttributes are registered in the designer in order to modify the display of browse nodes.- Specified by:
addBrowseTraits
in interfaceTagActor
-
processValue
public QualifiedValue processValue(QualifiedValue value)
Description copied from interface:TagActor
The value is generated by the source actor and then passed along to the next actor. If the return is null, the value change will be cancelled.- Specified by:
processValue
in interfaceTagActor
-
processWrite
public java.lang.Object processWrite(NodeContext context, java.util.concurrent.CompletableFuture<QualityCode> cf, SecurityContext security, java.lang.Object value, java.util.Optional<ArrayIndex> arrayIndex)
Description copied from interface:WriteProcessor
The returned value is passed to the next actor, if the future has not been completed. Gives the actors a chance to mutate the value, or cancel the write if appropriate. IfWriteProcessor.WRITE_HANDLED_SENTINEL
is returned, no further action should be taken.- Specified by:
processWrite
in interfaceWriteProcessor
-
sampleDiagnostics
public void sampleDiagnostics(DiagnosticsSample sample)
Description copied from interface:Diagnosable
Provides the sample upon which the object can set diagnostics information. It is expected that the calling object will first callgetSubSample()
in order to specify a useful identifier for this object's data.- Specified by:
sampleDiagnostics
in interfaceDiagnosable
-
-