Class PerspectiveExpression
java.lang.Object
com.inductiveautomation.perspective.gateway.binding.PerspectiveExpression
- All Implemented Interfaces:
 InteractionListener,ExpressionSourceStackMonitor
- Direct Known Subclasses:
 PerspectiveTransformExpression
Helper class that simplifies the creation and proper evaluation of expressions that execute in and around the
 binding / transform system.
 
Also simplifies the lifecycle so the user doesn't need to worry about the difference between startup/shutdown and connect/disconnect
- 
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static class - 
Field Summary
Fields - 
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedPerspectiveExpression(BindingContext bindingContext, Expression expression, List<PropertyReference> references)  - 
Method Summary
Modifier and TypeMethodDescriptionvoidvoidchildInteractionUpdated(List<Object> sourceStack) static PerspectiveExpressioncreate(BindingContext context, String source) voidSubmits evaluation task to the executorexecute()Synchronously calls execute on the expression, on calling thread.voidshutdown()voidstartup(Consumer<QualifiedValue> expressionValueCallback) voidstartup(Consumer<QualifiedValue> expressionValueCallback, Function<ExpressionException, QualifiedValue> errorHandler) Connects and starts up the underlying expression. 
- 
Field Details
- 
PARSER
 
 - 
 - 
Constructor Details
- 
PerspectiveExpression
protected PerspectiveExpression(BindingContext bindingContext, Expression expression, List<PropertyReference> references) - Parameters:
 bindingContext- The binding contextexpression- The expression to evaluate
 
 - 
 - 
Method Details
- 
create
public static PerspectiveExpression create(BindingContext context, String source) throws ConfigurationException - Throws:
 ConfigurationException
 - 
execute
Synchronously calls execute on the expression, on calling thread.- Throws:
 ExpressionException
 - 
resolveReferences
 - 
startup
 - 
startup
public void startup(Consumer<QualifiedValue> expressionValueCallback, Function<ExpressionException, QualifiedValue> errorHandler) Connects and starts up the underlying expression.- Parameters:
 expressionValueCallback- Callback that will be invoked when the expression produces a value. Will be called at least once, meaning that the initial value will be produced immediately.errorHandler- Will be invoked if the expression throws, must create a qualified value to use. Single-arg constructor just returnsQualifiedValue.EXPRESSION_EVAL_ERROR
 - 
shutdown
public void shutdown() - 
childInteractionUpdated
- Specified by:
 childInteractionUpdatedin interfaceExpressionSourceStackMonitor
 - 
childInteractionUpdated
public void childInteractionUpdated()- Specified by:
 childInteractionUpdatedin interfaceInteractionListener
 - 
evaluateExpression
public void evaluateExpression()Submits evaluation task to the executor 
 -