public final class Retriggers extends PrimaryBehavior
This behavior is used to trigger the computation of dependent values only when they already exist. It will not create new values.
This behavior supports self-triggering, where the update of a value will trigger the computation of the next existing value for the same Point. This is also supported by the value selection in super which will select the previous value on self-reference.
Proxied.Abstract
Constructor and Description |
---|
Retriggers() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
doValidate()
Does validate this behavior.
|
boolean |
isResultFetched(PointValue noticeValue,
ResultValue resultValue)
Asks if result value has been fetched.
|
boolean |
prepareTrigger(PointValue noticeValue,
Batch batch)
Allows a behavior to prepare for a call to
Behavior.trigger(org.rvpf.base.value.PointValue, org.rvpf.metadata.processor.Batch) . |
void |
trigger(PointValue noticeValue,
Batch batch)
Triggers the computation of results if needed.
|
addInputToResult, equals, getAfterResultSyncPosition, getInputSync, getResultSync, getResultSyncStamp, getSelectSyncPosition, getSinceResultSyncPosition, getSinceSyncPosition, getSync, getSynchronizedResultStamp, getSyncStamp, hasAfterResultSyncPosition, hashCode, hasSelectSyncPosition, hasSinceResultSyncPosition, hasSinceSyncPosition, isInSync, isPrimary, isSelectPreviousValue, prepareSelect, select, setUp, supportsExtrapolated, supportsInterpolated, validate, validateNoLoop, validateNotSynchronized
getBehavior, getBooleanInputValue, getDoubleInputValue, getElapsedInputValue, getEntity, getInput, getInputPoint, getName, getNext, getParams, getProxyEntity, getRelation, getRelations, getRelationSync, getRelationSyncEntity, getResultPoint, getThisLogger, getTransform, isInherited, isInputExtrapolated, isInputInterpolated, isInputRequired, isInputValid, isSynchronized, newResultValue, setInherited, setNext, setRelation, tearDown, toString, validateNoResults, validateTransform
public boolean isResultFetched(PointValue noticeValue, ResultValue resultValue)
isResultFetched
in interface Behavior
isResultFetched
in class AbstractBehavior
noticeValue
- The triggering point valueresultValue
- The the result value.public boolean prepareTrigger(PointValue noticeValue, Batch batch)
Behavior.trigger(org.rvpf.base.value.PointValue, org.rvpf.metadata.processor.Batch)
.
Will be called until all the batch behaviors return true.
On the first pass, asks for the next notice. Asks for an other pass if the result Point is not the notice Point.
On the second pass, if there is a next notice, asks for all the results between this notice and the next. Otherwise, asks for all the results at or after the notice.
All of this is prefixed by a preliminary pass to get the next notice when using 'SelectPreviousValue'.
prepareTrigger
in interface Behavior
prepareTrigger
in class AbstractBehavior
noticeValue
- A point value acting as potential trigger.batch
- The current batch context.public void trigger(PointValue noticeValue, Batch batch)
This is called after all the calls to the Behavior.prepareTrigger(org.rvpf.base.value.PointValue, org.rvpf.metadata.processor.Batch)
method have returned true.
If this is a self-trigger, retriggers the computation of the next value. Otherwiser retriggers the computation of all the results between this notice and the next, defaulting to the end of time.
trigger
in interface Behavior
trigger
in class AbstractBehavior
noticeValue
- A point value acting as potential trigger.batch
- The current batch context.protected boolean doValidate()
doValidate
in class AbstractBehavior
Copyright © 2003-2019 Serge Brisson. All Rights Reserved.