public final class ResynchronizedBehavior extends ReplicatedBehavior
Proxied.Abstract
Constructor and Description |
---|
ResynchronizedBehavior() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
doValidate()
Does validate this behavior.
|
boolean |
prepareSelect(ResultValue resultValue,
Batch batch)
Allows a behavior to prepare for a call to
Behavior.select(org.rvpf.base.value.ResultValue, org.rvpf.metadata.processor.Batch) . |
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) . |
boolean |
select(ResultValue resultValue,
Batch batch)
Selects input values for computing the result.
|
boolean |
setUp(Metadata metadata,
ProxyEntity proxyEntity)
Sets up the instance for action.
|
void |
trigger(PointValue noticeValue,
Batch batch)
Triggers the computation of results if needed.
|
isResultFetched
addInputToResult, equals, getAfterResultSyncPosition, getInputSync, getResultSync, getResultSyncStamp, getSelectSyncPosition, getSinceResultSyncPosition, getSinceSyncPosition, getSync, getSynchronizedResultStamp, getSyncStamp, hasAfterResultSyncPosition, hashCode, hasSelectSyncPosition, hasSinceResultSyncPosition, hasSinceSyncPosition, isInSync, isPrimary, isSelectPreviousValue, 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 prepareSelect(ResultValue resultValue, Batch batch)
Behavior.select(org.rvpf.base.value.ResultValue, org.rvpf.metadata.processor.Batch)
.
The result value has been triggered either by this behavior or the behavior of an other input. Will be called until all the batch behaviors return true.
prepareSelect
in interface Behavior
prepareSelect
in class ReplicatedBehavior
resultValue
- The result value to be computed.batch
- The current batch context.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.
When the input Point is not the result Point, a later input may resolve to the same result timestamp.
prepareTrigger
in interface Behavior
prepareTrigger
in class AbstractBehavior
noticeValue
- A point value acting as potential trigger.batch
- The current batch context.public boolean select(ResultValue resultValue, Batch batch)
This is called after all the calls to the Behavior.prepareSelect(org.rvpf.base.value.ResultValue, org.rvpf.metadata.processor.Batch)
method have returned true.
select
in interface Behavior
select
in class ReplicatedBehavior
resultValue
- The result value to be computed.batch
- The current batch context.public boolean setUp(Metadata metadata, ProxyEntity proxyEntity)
setUp
in interface Proxied
setUp
in class PrimaryBehavior
metadata
- The metadata available to the current process.proxyEntity
- The proxy entity refering to the proxied.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.
Since we are replicating, it would be reasonable for the notice and the result to refer to the same point definition. In order to be able to get the result value from its locally configured Store, we ask the Batch to forget about the notice, then set up a result with the notice as input.
trigger
in interface Behavior
trigger
in class ReplicatedBehavior
noticeValue
- A point value acting as potential trigger.batch
- The current batch context.protected boolean doValidate()
Because of its special interaction with the Batch, this Behavior is intolerant of others on the same relation.
If the input replicates itself, it is not allowed to have other dependents on the same Processor.
If the input resynchronizes itself, it is not allowed to have other dependents on the same Processor.
doValidate
in class ReplicatedBehavior
Copyright © 2003-2019 Serge Brisson. All Rights Reserved.