Class AbstractBindingHarness
java.lang.Object
com.inductiveautomation.perspective.gateway.model.AbstractBindingHarness
- All Implemented Interfaces:
- AuditingContext,- BindingContext,- LoggingContext
- Direct Known Subclasses:
- ElementBindingHarness
Wraps up the logic of creating bindings and transform chains, and linking up the values as they get created,
 eventually making their way back onto the target property.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected final Bindingprotected booleanprotected final PerspectiveElementprotected final PropertyKeyprotected final Transform[]List of transforms or null if no transforms (never empty)protected final String
- 
Method SummaryModifier and TypeMethodDescriptionvoidmdcSetup()Set up the MDC keys for this contextvoidTear down the MDC keys that are added in #mdcSetupprotected voidonBindingProducedValue(long sequence, QualifiedValue value) protected voidonTransformProducedValue(int transformIndex, long sequence, QualifiedValue transformedValue) voidTakes the most recently published value from the binding and runs it through the transforms or delivers it to the target if there are no transforms.voidpublish(QualifiedValue value, boolean pending) Called from the binding when it has a value to push onto the target property ( or through its transforms )voidrefresh()voidshutdown()Must be called on-queuevoidstartup()Must be called on-queueprotected abstract RunnablesubscribeToTarget(Consumer<PropertyTreeChangeEvent> callback) Attempt to subscribe to the target property.protected abstract voidwriteToTarget(QualifiedValue value) Write the given value to the target property.Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.inductiveautomation.perspective.gateway.api.AuditingContextauditMethods inherited from interface com.inductiveautomation.perspective.gateway.api.BindingContextgetAuditProfile, getDiagnosticPath, getExecutorService, getMutabilityMode, getScheduler, getSession, publishMethods inherited from interface com.inductiveautomation.perspective.gateway.api.LoggingContextmdc, mdcSetupTree, mdcTeardownTree, mdcWrap
- 
Field Details- 
typeCode
- 
binding
- 
targetComponent
- 
targetProperty
- 
transformsList of transforms or null if no transforms (never empty)
- 
shutdownprotected boolean shutdown
 
- 
- 
Method Details- 
getTargetElement- Specified by:
- getTargetElementin interface- BindingContext
 
- 
getLogger- Specified by:
- getLoggerin interface- LoggingContext
 
- 
getMdcParent- Specified by:
- getMdcParentin interface- LoggingContext
 
- 
mdcSetuppublic void mdcSetup()Description copied from interface:LoggingContextSet up the MDC keys for this context- Specified by:
- mdcSetupin interface- LoggingContext
 
- 
mdcTeardownpublic void mdcTeardown()Description copied from interface:LoggingContextTear down the MDC keys that are added in #mdcSetup- Specified by:
- mdcTeardownin interface- LoggingContext
 
- 
getTargetProperty- Specified by:
- getTargetPropertyin interface- BindingContext
 
- 
resolveReferences
- 
startuppublic void startup()Must be called on-queue
- 
subscribeToTargetAttempt to subscribe to the target property.- Parameters:
- callback- When the target property changes, call this consumer and give it a way to fetch the new value
- Returns:
- A runnable which when called will tear down the subscription. May be null if the subscription wasn't able to be established.
 
- 
shutdownpublic void shutdown()Must be called on-queue
- 
publishDescription copied from interface:BindingContextCalled from the binding when it has a value to push onto the target property ( or through its transforms )- Specified by:
- publishin interface- BindingContext
- pending- true if this value is temporary and will be replaced (within a reasonable span of time) with a new value
 
- 
processPublishedValuepublic void processPublishedValue()Description copied from interface:BindingContextTakes the most recently published value from the binding and runs it through the transforms or delivers it to the target if there are no transforms.- Specified by:
- processPublishedValuein interface- BindingContext
 
- 
getLastValue- Specified by:
- getLastValuein interface- BindingContext
 
- 
refreshpublic void refresh()
- 
onBindingProducedValue
- 
onTransformProducedValueprotected void onTransformProducedValue(int transformIndex, long sequence, QualifiedValue transformedValue) 
- 
writeToTargetWrite the given value to the target property.
- 
getInitialValueFuture
- 
getAuditSnapshot- Specified by:
- getAuditSnapshotin interface- AuditingContext
- Returns:
- A new, or extended, AuditContext.Builder, with qualified information about the current scope.
 
 
-