Class Jsr223ScriptEvaluator
java.lang.Object
com.evolveum.midpoint.model.common.expression.script.AbstractScriptEvaluator
com.evolveum.midpoint.model.common.expression.script.AbstractCachingScriptEvaluator<ScriptEngine,CompiledScript,String>
com.evolveum.midpoint.model.common.expression.script.jsr223.Jsr223ScriptEvaluator
- All Implemented Interfaces:
ScriptEvaluator
public class Jsr223ScriptEvaluator
extends AbstractCachingScriptEvaluator<ScriptEngine,CompiledScript,String>
Generic expression evaluator that is using javax.script (JSR-223) engine.
This evaluator does not really support expression profiles. It has just one global almighty compiler (
ScriptEngine).
Groovy is handled by GroovyScriptEvaluator.- Author:
- Radovan Semancik
-
Constructor Summary
ConstructorsConstructorDescriptionJsr223ScriptEvaluator(String engineName, PrismContext prismContext, Protector protector, LocalizationService localizationService) -
Method Summary
Modifier and TypeMethodDescriptionprotected CompiledScriptcompileScript(String codeString, ScriptExpressionEvaluationContext evaluationContext) protected ScriptEngineprotected ObjectevaluateScript(CompiledScript compiledScript, ScriptExpressionEvaluationContext context) Returns human readable name of the language that this evaluator supports@NotNull StringReturns (canonical) URL of the language that this evaluator can handleprotected StringgetScriptCachingKey(String codeString, ScriptExpressionEvaluationContext context) booleanCan indicate that script evaluator is not initialized, e.g. optional script evaluators (Python) or depending on the JDK platform (JavaScript/ECMAScript).Methods inherited from class com.evolveum.midpoint.model.common.expression.script.AbstractCachingScriptEvaluator
evaluateInternal, getInterpreter, getScriptCacheMethods inherited from class com.evolveum.midpoint.model.common.expression.script.AbstractScriptEvaluator
doesSupportRestrictions, evaluate, getLocalizationService, getPrismContext, getProtector, needsServiceVariables, prepareFunctionLibraryMap, prepareScriptVariablesMap, prepareScriptVariablesTypedValueMap, prepareUnifiedScriptVariablesValueMap, supportsDeprecatedVariables
-
Constructor Details
-
Jsr223ScriptEvaluator
public Jsr223ScriptEvaluator(String engineName, PrismContext prismContext, Protector protector, LocalizationService localizationService)
-
-
Method Details
-
createInterpreter
protected ScriptEngine createInterpreter(ScriptExpressionEvaluationContext context) throws SecurityViolationException, ConfigurationException - Specified by:
createInterpreterin classAbstractCachingScriptEvaluator<ScriptEngine,CompiledScript, String> - Throws:
SecurityViolationExceptionConfigurationException
-
getScriptCachingKey
- Specified by:
getScriptCachingKeyin classAbstractCachingScriptEvaluator<ScriptEngine,CompiledScript, String>
-
compileScript
protected CompiledScript compileScript(String codeString, ScriptExpressionEvaluationContext evaluationContext) throws Exception - Specified by:
compileScriptin classAbstractCachingScriptEvaluator<ScriptEngine,CompiledScript, String> - Throws:
Exception
-
evaluateScript
protected Object evaluateScript(CompiledScript compiledScript, ScriptExpressionEvaluationContext context) throws Exception - Specified by:
evaluateScriptin classAbstractCachingScriptEvaluator<ScriptEngine,CompiledScript, String> - Throws:
Exception
-
getLanguageName
Description copied from interface:ScriptEvaluatorReturns human readable name of the language that this evaluator supports -
getLanguageUrl
Description copied from interface:ScriptEvaluatorReturns (canonical) URL of the language that this evaluator can handle -
isInitialized
public boolean isInitialized()Description copied from interface:ScriptEvaluatorCan indicate that script evaluator is not initialized, e.g. optional script evaluators (Python) or depending on the JDK platform (JavaScript/ECMAScript).
-