Class GroovyScriptExpressionExecutorCacheStrategy
java.lang.Object
org.bonitasoft.engine.expression.NonEmptyContentExpressionExecutorStrategy
org.bonitasoft.engine.expression.impl.GroovyScriptExpressionExecutorCacheStrategy
- All Implemented Interfaces:
SingleClassLoaderListener,ExpressionExecutorStrategy
- Direct Known Subclasses:
GroovyScriptConditionExpressionExecutorStrategy
public class GroovyScriptExpressionExecutorCacheStrategy
extends NonEmptyContentExpressionExecutorStrategy
implements SingleClassLoaderListener
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from interface org.bonitasoft.engine.expression.ExpressionExecutorStrategy
CONTAINER_ID_KEY, CONTAINER_TYPE_KEY, DEFINITION_ID, INTERPRETER_GROOVY, KIND_BUSINESS_DATA, KIND_BUSINESS_DATA_REFERENCE, KIND_BUSINESS_OBJECT_DAO, KIND_CONSTANT, KIND_CONTRACT_INPUT, KIND_DOCUMENT, KIND_DOCUMENT_LIST, KIND_ENGINE_CONSTANT, KIND_INPUT, KIND_JAVA_METHOD_CALL, KIND_LIST, KIND_PARAMETER, KIND_PATTERN, KIND_QUERY_BUSINESS_DATA, KIND_READ_ONLY_CONDITION_SCRIPT_GROOVY, KIND_READ_ONLY_SCRIPT_GROOVY, KIND_TRANSIENT_VARIABLE, KIND_VARIABLE, KIND_XPATH_READ, NO_DEPENDENCY_EXPRESSION_EVALUATION_ORDER, TYPE_BUSINESS_DATA, TYPE_BUSINESS_DATA_REFERENCE, TYPE_BUSINESS_OBJECT_DAO, TYPE_CONSTANT, TYPE_CONTRACT_INPUT, TYPE_DOCUMENT, TYPE_DOCUMENT_LIST, TYPE_ENGINE_CONSTANT, TYPE_INPUT, TYPE_JAVA_METHOD_CALL, TYPE_LIST, TYPE_PARAMETER, TYPE_PATTERN, TYPE_QUERY_BUSINESS_DATA, TYPE_READ_ONLY_CONDITION_SCRIPT, TYPE_READ_ONLY_SCRIPT, TYPE_TRANSIENT_VARIABLE, TYPE_VARIABLE, TYPE_XPATH_READ -
Constructor Summary
ConstructorsConstructorDescriptionGroovyScriptExpressionExecutorCacheStrategy(CacheService cacheService, ClassLoaderService classLoaderService) -
Method Summary
Modifier and TypeMethodDescriptionprotected ObjectcoerceResult(groovy.lang.GroovyShell shell, Object result, String returnType) Execute a Groovy expression that coerce the result into the returnTypeevaluate(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?voidonDestroy(ClassLoader oldClassLoader) voidonUpdate(ClassLoader newClassLoader) Methods inherited from class org.bonitasoft.engine.expression.NonEmptyContentExpressionExecutorStrategy
validate
-
Field Details
-
GROOVY_SCRIPT_CACHE_NAME
- See Also:
-
SCRIPT_KEY
- See Also:
-
COERCION_SCRIPT_KEY
- See Also:
-
SHELL_KEY
- See Also:
-
-
Constructor Details
-
GroovyScriptExpressionExecutorCacheStrategy
public GroovyScriptExpressionExecutorCacheStrategy(CacheService cacheService, ClassLoaderService classLoaderService)
-
-
Method Details
-
evaluate
public Object evaluate(SExpression expression, Map<String, Object> context, Map<Integer, throws SExpressionEvaluationExceptionObject> resolvedExpressions, ContainerState containerState) - Specified by:
evaluatein interfaceExpressionExecutorStrategy- Parameters:
expression- the expression to evaluatecontext- map containing the result of the evaluation of dependencies and also informations about the context of evaluation given byExpressionExecutorStrategy.CONTAINER_ID_KEYandExpressionExecutorStrategy.CONTAINER_TYPE_KEY- Returns:
- the result of the evaluation of the expression of appropriate type
- Throws:
SExpressionEvaluationException
-
onUpdate
- Specified by:
onUpdatein interfaceSingleClassLoaderListener
-
onDestroy
- Specified by:
onDestroyin interfaceSingleClassLoaderListener
-
getExpressionKind
- Specified by:
getExpressionKindin interfaceExpressionExecutorStrategy
-
evaluate
public List<Object> evaluate(List<SExpression> expressions, Map<String, Object> context, Map<Integer, throws SExpressionEvaluationException, SExpressionDependencyMissingExceptionObject> resolvedExpressions, ContainerState containerState) - Specified by:
evaluatein interfaceExpressionExecutorStrategy- Throws:
SExpressionEvaluationExceptionSExpressionDependencyMissingException
-
coerceResult
protected Object coerceResult(groovy.lang.GroovyShell shell, Object result, String returnType) throws ClassNotFoundException, SCacheException Execute a Groovy expression that coerce the result into the returnType- Parameters:
shell- , the Groovy shell use for script evaluationresult- , the evaluation resultreturnType- , expected expression return type- Returns:
- the result with the expected type or a
GroovyCastExceptionif the coercion fails - Throws:
ClassNotFoundExceptionSCacheException
-
mustPutEvaluatedExpressionInContext
public boolean mustPutEvaluatedExpressionInContext()Description copied from interface:ExpressionExecutorStrategyShould we put the evaluated expressions of this strategy in the evaluation context?- Specified by:
mustPutEvaluatedExpressionInContextin interfaceExpressionExecutorStrategy
-