Class QueryBinding
java.lang.Object
com.inductiveautomation.perspective.gateway.binding.AbstractPollingBinding<QueryBindingParams>
com.inductiveautomation.perspective.gateway.binding.query.QueryBinding
- All Implemented Interfaces:
QueryBindingConstants
,Binding
public class QueryBinding
extends AbstractPollingBinding<QueryBindingParams>
implements QueryBindingConstants
Implementation of a perspective query binding. These bindings will execute a named query, optionally on a rate.
The polling rate, as well as the parameter values, are all expressions that can produce new values at any time. Care is taken to ensure that any blocking work takes place on the perspective working thread-pool.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.inductiveautomation.perspective.gateway.binding.AbstractPollingBinding
AbstractPollingBinding.State
-
Field Summary
Fields inherited from class com.inductiveautomation.perspective.gateway.binding.AbstractPollingBinding
context, state
Fields inherited from interface com.inductiveautomation.perspective.gateway.api.Binding
BAD_CONFIG, BAD_REF, BIDIRECTIONAL_KEY, INITIAL_VALUE, MDC_BINDING_TARGET, NOT_FOUND
Fields inherited from interface com.inductiveautomation.perspective.common.config.constants.QueryBindingConstants
QUERY_PATH, TYPE_ID
-
Method Summary
Modifier and TypeMethodDescriptionprotected QueryBindingParams
This method will be called when it is time to fetch a new value.static QualifiedValue
execute
(QueryBindingParams params) protected boolean
isDirty()
If any dependencies of the implementation have changed, this method should return true, which will kick off another execution if dependencies have changed while the execution was running.protected boolean
isReady()
Indicates whether or not the instance of the underlying implementation is ready for execution.void
shutdown()
Shut down the binding.void
startup()
Start up the binding.Methods inherited from class com.inductiveautomation.perspective.gateway.binding.AbstractPollingBinding
onUserRefresh, scheduleNow
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.inductiveautomation.perspective.gateway.api.Binding
isBidirectional, onTargetUpdated
-
Method Details
-
resolveReferences
- Specified by:
resolveReferences
in interfaceBinding
- Overrides:
resolveReferences
in classAbstractPollingBinding<QueryBindingParams>
-
startup
public void startup()Description copied from interface:Binding
Start up the binding. Will be called on-queue- Specified by:
startup
in interfaceBinding
- Overrides:
startup
in classAbstractPollingBinding<QueryBindingParams>
-
shutdown
public void shutdown()Description copied from interface:Binding
Shut down the binding. Will be called on-queue- Specified by:
shutdown
in interfaceBinding
- Overrides:
shutdown
in classAbstractPollingBinding<QueryBindingParams>
-
isReady
protected boolean isReady()Description copied from class:AbstractPollingBinding
Indicates whether or not the instance of the underlying implementation is ready for execution.- Specified by:
isReady
in classAbstractPollingBinding<QueryBindingParams>
-
isDirty
protected boolean isDirty()Description copied from class:AbstractPollingBinding
If any dependencies of the implementation have changed, this method should return true, which will kick off another execution if dependencies have changed while the execution was running.- Specified by:
isDirty
in classAbstractPollingBinding<QueryBindingParams>
-
buildFetchParameters
Description copied from class:AbstractPollingBinding
This method will be called when it is time to fetch a new value. The parameter object must implement hashcode and equals, and must contain everything needed to run this parameter's fetch function. The parameter object will be given to theValueCache
, which will then execute the fetch function if a new value is needed. This method will be called within a synchronized block holding this lock.- Specified by:
buildFetchParameters
in classAbstractPollingBinding<QueryBindingParams>
-
execute
-