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 ExpressionExecutorStrategyAllow to evaluate one kind of expression the kind of expression that this evaluator is responsible for is define by thegetExpressionKind()Client implements this interface in order to add a new kind of expression- Author:
- Zhao Na, Baptiste Mesta, Matthieu Chaffotte, Celine Souchet
-
-
Field Summary
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.List<java.lang.Object>evaluate(java.util.List<SExpression> expressions, java.util.Map<java.lang.String,java.lang.Object> context, java.util.Map<java.lang.Integer,java.lang.Object> resolvedExpressions, ContainerState containerState)java.lang.Objectevaluate(SExpression expression, java.util.Map<java.lang.String,java.lang.Object> context, java.util.Map<java.lang.Integer,java.lang.Object> resolvedExpressions, ContainerState containerState)ExpressionKindgetExpressionKind()booleanmustPutEvaluatedExpressionInContext()Should 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 Detail
-
DEFINITION_ID
static final java.lang.String DEFINITION_ID
- See Also:
- Constant Field Values
-
CONTAINER_ID_KEY
static final java.lang.String CONTAINER_ID_KEY
- See Also:
- Constant Field Values
-
CONTAINER_TYPE_KEY
static final java.lang.String CONTAINER_TYPE_KEY
- See Also:
- Constant Field Values
-
INTERPRETER_GROOVY
static final java.lang.String INTERPRETER_GROOVY
- See Also:
- Constant Field Values
-
TYPE_CONSTANT
static final java.lang.String TYPE_CONSTANT
- See Also:
- Constant Field Values
-
TYPE_INPUT
static final java.lang.String TYPE_INPUT
- See Also:
- Constant Field Values
-
TYPE_READ_ONLY_SCRIPT
static final java.lang.String TYPE_READ_ONLY_SCRIPT
- See Also:
- Constant Field Values
-
TYPE_READ_ONLY_CONDITION_SCRIPT
static final java.lang.String TYPE_READ_ONLY_CONDITION_SCRIPT
- See Also:
- Constant Field Values
-
TYPE_VARIABLE
static final java.lang.String TYPE_VARIABLE
- See Also:
- Constant Field Values
-
TYPE_TRANSIENT_VARIABLE
static final java.lang.String TYPE_TRANSIENT_VARIABLE
- See Also:
- Constant Field Values
-
TYPE_PATTERN
static final java.lang.String TYPE_PATTERN
- See Also:
- Constant Field Values
-
TYPE_JAVA_METHOD_CALL
static final java.lang.String TYPE_JAVA_METHOD_CALL
- See Also:
- Constant Field Values
-
TYPE_PARAMETER
static final java.lang.String TYPE_PARAMETER
- See Also:
- Constant Field Values
-
TYPE_DOCUMENT
static final java.lang.String TYPE_DOCUMENT
- See Also:
- Constant Field Values
-
TYPE_DOCUMENT_LIST
static final java.lang.String TYPE_DOCUMENT_LIST
- See Also:
- Constant Field Values
-
TYPE_ENGINE_CONSTANT
static final java.lang.String TYPE_ENGINE_CONSTANT
- See Also:
- Constant Field Values
-
TYPE_LIST
static final java.lang.String TYPE_LIST
- See Also:
- Constant Field Values
-
TYPE_XPATH_READ
static final java.lang.String TYPE_XPATH_READ
- See Also:
- Constant Field Values
-
TYPE_BUSINESS_DATA
static final java.lang.String TYPE_BUSINESS_DATA
- See Also:
- Constant Field Values
-
TYPE_BUSINESS_DATA_REFERENCE
static final java.lang.String TYPE_BUSINESS_DATA_REFERENCE
- See Also:
- Constant Field Values
-
TYPE_BUSINESS_OBJECT_DAO
static final java.lang.String TYPE_BUSINESS_OBJECT_DAO
- See Also:
- Constant Field Values
-
TYPE_QUERY_BUSINESS_DATA
static final java.lang.String TYPE_QUERY_BUSINESS_DATA
- See Also:
- Constant Field Values
-
TYPE_CONTRACT_INPUT
static final java.lang.String TYPE_CONTRACT_INPUT
- See Also:
- Constant Field Values
-
KIND_CONSTANT
static final ExpressionKind KIND_CONSTANT
-
KIND_READ_ONLY_SCRIPT_GROOVY
static final ExpressionKind KIND_READ_ONLY_SCRIPT_GROOVY
-
KIND_READ_ONLY_CONDITION_SCRIPT_GROOVY
static final ExpressionKind KIND_READ_ONLY_CONDITION_SCRIPT_GROOVY
-
KIND_INPUT
static final ExpressionKind KIND_INPUT
-
KIND_VARIABLE
static final ExpressionKind KIND_VARIABLE
-
KIND_TRANSIENT_VARIABLE
static final ExpressionKind KIND_TRANSIENT_VARIABLE
-
KIND_PATTERN
static final ExpressionKind KIND_PATTERN
-
KIND_JAVA_METHOD_CALL
static final ExpressionKind KIND_JAVA_METHOD_CALL
-
KIND_PARAMETER
static final ExpressionKind KIND_PARAMETER
-
KIND_DOCUMENT
static final ExpressionKind KIND_DOCUMENT
-
KIND_DOCUMENT_LIST
static final ExpressionKind KIND_DOCUMENT_LIST
-
KIND_ENGINE_CONSTANT
static final ExpressionKind KIND_ENGINE_CONSTANT
-
KIND_LIST
static final ExpressionKind KIND_LIST
-
KIND_XPATH_READ
static final ExpressionKind KIND_XPATH_READ
-
KIND_BUSINESS_DATA
static final ExpressionKind KIND_BUSINESS_DATA
-
KIND_BUSINESS_DATA_REFERENCE
static final ExpressionKind KIND_BUSINESS_DATA_REFERENCE
-
KIND_BUSINESS_OBJECT_DAO
static final ExpressionKind KIND_BUSINESS_OBJECT_DAO
-
KIND_QUERY_BUSINESS_DATA
static final ExpressionKind KIND_QUERY_BUSINESS_DATA
-
KIND_CONTRACT_INPUT
static final ExpressionKind KIND_CONTRACT_INPUT
-
NO_DEPENDENCY_EXPRESSION_EVALUATION_ORDER
static final java.util.List<ExpressionKind> NO_DEPENDENCY_EXPRESSION_EVALUATION_ORDER
This list must contain only types with no dependencies
-
-
Method Detail
-
evaluate
java.lang.Object evaluate(SExpression expression, java.util.Map<java.lang.String,java.lang.Object> context, java.util.Map<java.lang.Integer,java.lang.Object> resolvedExpressions, ContainerState containerState) throws SExpressionEvaluationException, SExpressionDependencyMissingException
- 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
void validate(SExpression expression) throws SInvalidExpressionException
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
java.util.List<java.lang.Object> evaluate(java.util.List<SExpression> expressions, java.util.Map<java.lang.String,java.lang.Object> context, java.util.Map<java.lang.Integer,java.lang.Object> resolvedExpressions, ContainerState containerState) throws SExpressionEvaluationException, SExpressionDependencyMissingException
-
mustPutEvaluatedExpressionInContext
boolean mustPutEvaluatedExpressionInContext()
Should we put the evaluated expressions of this strategy in the evaluation context?
-
-