Package org.bonitasoft.engine.expression
Interface ExpressionExecutorStrategy
- All Known Implementing Classes:
BusinessDataExpressionExecutorStrategy,BusinessDataReferenceExpressionExecutorStrategy,BusinessObjectDAOExpressionStrategy,CommonBusinessDataExpressionExecutorStrategy,ConditionExpressionExecutorStrategy,ConstantExpressionExecutorStrategy,ContractInputExpressionExecutorStrategy,DataExpressionExecutorStrategy,DocumentListReferenceExpressionExecutorStrategy,DocumentReferenceExpressionExecutorStrategy,EngineConstantExpressionExecutorStrategy,GroovyScriptConditionExpressionExecutorStrategy,GroovyScriptExpressionExecutorCacheStrategy,InputExpressionExecutorStrategy,JavaMethodCallExpressionExecutorStrategy,ListExpressionExecutorStrategy,NonEmptyContentExpressionExecutorStrategy,ParameterExpressionExecutorStrategy,PatternExpressionExecutorStrategy,QueryBusinessDataExpressionExecutorStrategy,TransientDataExpressionExecutorStrategy,XPathReadExpressionExecutorStrategy
public interface ExpressionExecutorStrategy
Allow to evaluate one kind of expression
the kind of expression that this evaluator is responsible for is define by the
getExpressionKind() Client
implements this interface in order to add
a new kind of expression- Author:
- Zhao Na, Baptiste Mesta, Matthieu Chaffotte, Celine Souchet
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final ExpressionKindstatic final List<ExpressionKind>This list must contain only types with no dependenciesstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final String -
Method Summary
Modifier and TypeMethodDescriptionevaluate(List<SExpression> expressions, Map<String, Object> context, Map<Integer, Object> resolvedExpressions, ContainerState containerState) evaluate(SExpression expression, Map<String, Object> context, Map<Integer, Object> resolvedExpressions, ContainerState containerState) booleanShould we put the evaluated expressions of this strategy in the evaluation context?voidvalidate(SExpression expression) Validate the expression, an exception is thrown it is invalid
-
Field Details
-
DEFINITION_ID
- See Also:
-
CONTAINER_ID_KEY
- See Also:
-
CONTAINER_TYPE_KEY
- See Also:
-
INTERPRETER_GROOVY
- See Also:
-
TYPE_CONSTANT
- See Also:
-
TYPE_INPUT
- See Also:
-
TYPE_READ_ONLY_SCRIPT
- See Also:
-
TYPE_READ_ONLY_CONDITION_SCRIPT
- See Also:
-
TYPE_VARIABLE
- See Also:
-
TYPE_TRANSIENT_VARIABLE
- See Also:
-
TYPE_PATTERN
- See Also:
-
TYPE_JAVA_METHOD_CALL
- See Also:
-
TYPE_PARAMETER
- See Also:
-
TYPE_DOCUMENT
- See Also:
-
TYPE_DOCUMENT_LIST
- See Also:
-
TYPE_ENGINE_CONSTANT
- See Also:
-
TYPE_LIST
- See Also:
-
TYPE_XPATH_READ
- See Also:
-
TYPE_BUSINESS_DATA
- See Also:
-
TYPE_BUSINESS_DATA_REFERENCE
- See Also:
-
TYPE_BUSINESS_OBJECT_DAO
- See Also:
-
TYPE_QUERY_BUSINESS_DATA
- See Also:
-
TYPE_CONTRACT_INPUT
- See Also:
-
KIND_CONSTANT
-
KIND_READ_ONLY_SCRIPT_GROOVY
-
KIND_READ_ONLY_CONDITION_SCRIPT_GROOVY
-
KIND_INPUT
-
KIND_VARIABLE
-
KIND_TRANSIENT_VARIABLE
-
KIND_PATTERN
-
KIND_JAVA_METHOD_CALL
-
KIND_PARAMETER
-
KIND_DOCUMENT
-
KIND_DOCUMENT_LIST
-
KIND_ENGINE_CONSTANT
-
KIND_LIST
-
KIND_XPATH_READ
-
KIND_BUSINESS_DATA
-
KIND_BUSINESS_DATA_REFERENCE
-
KIND_BUSINESS_OBJECT_DAO
-
KIND_QUERY_BUSINESS_DATA
-
KIND_CONTRACT_INPUT
-
NO_DEPENDENCY_EXPRESSION_EVALUATION_ORDER
This list must contain only types with no dependencies
-
-
Method Details
-
evaluate
Object evaluate(SExpression expression, Map<String, Object> context, Map<Integer, throws SExpressionEvaluationException, SExpressionDependencyMissingExceptionObject> resolvedExpressions, ContainerState containerState) - Parameters:
expression- the expression to evaluatecontext- map containing the result of the evaluation of dependencies and also informations about the context of evaluation given byCONTAINER_ID_KEYandCONTAINER_TYPE_KEY- Returns:
- the result of the evaluation of the expression of appropriate type
- Throws:
SExpressionEvaluationExceptionSExpressionDependencyMissingException
-
validate
Validate the expression, an exception is thrown it is invalid- Parameters:
expression- the expression to validate- Throws:
SInvalidExpressionException- if the exception is invalid- Since:
- 6.0
-
getExpressionKind
ExpressionKind getExpressionKind() -
evaluate
List<Object> evaluate(List<SExpression> expressions, Map<String, Object> context, Map<Integer, throws SExpressionEvaluationException, SExpressionDependencyMissingExceptionObject> resolvedExpressions, ContainerState containerState) -
mustPutEvaluatedExpressionInContext
boolean mustPutEvaluatedExpressionInContext()Should we put the evaluated expressions of this strategy in the evaluation context?
-