Class AbstractScriptEvaluator
java.lang.Object
net.shibboleth.utilities.java.support.scripting.AbstractScriptEvaluator
- Direct Known Subclasses:
ScriptedBiConsumer
,ScriptedBiFunction
,ScriptedBiPredicate
,ScriptedConsumer
,ScriptedFunction
,ScriptedPredicate
,ScriptedRunnable.RunnableScriptEvaluator
A component that evaluates an
EvaluableScript
against a set of inputs
and returns the result.- Since:
- 7.4.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Object
A custom object to inject into the script.static final String
The default language is Javascript.private boolean
Whether to raise runtime exceptions if a script fails.private final org.slf4j.Logger
Class logger.private String
Debugging info.private Class<?>
The output type to validate.private Object
Value to return from script if an error occurs.private final EvaluableScript
The script we care about. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Object
Evaluate the script.protected Object
finalizeContext
(ScriptContext scriptContext, Object scriptResult) Complete processing by evaluating the result of the script and returning the final result to the caller.protected Object
Return the custom (externally provided) object.protected boolean
Get whether to hide exceptions in script execution.protected String
Get log prefix for debugging.protected Class<?>
Get the output type to be enforced.protected Object
Get value to return if an error occurs.protected abstract void
prepareContext
(ScriptContext scriptContext, Object... input) Pre-process the script context before execution.void
setCustomObject
(Object object) Set the custom (externally provided) object.void
setHideExceptions
(boolean flag) Set whether to hide exceptions in script execution (default is false).void
setLogPrefix
(String prefix) Set log prefix for debugging.protected void
setOutputType
(Class<?> type) Set the output type to be enforced.protected void
setReturnOnError
(Object value) Set value to return if an error occurs.
-
Field Details
-
DEFAULT_ENGINE
The default language is Javascript.- See Also:
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
script
The script we care about. -
logPrefix
Debugging info. -
outputType
The output type to validate. -
customObject
A custom object to inject into the script. -
hideExceptions
private boolean hideExceptionsWhether to raise runtime exceptions if a script fails. -
returnOnError
Value to return from script if an error occurs.
-
-
Constructor Details
-
AbstractScriptEvaluator
Constructor.- Parameters:
theScript
- the script we will evaluate.
-
-
Method Details
-
getLogPrefix
Get log prefix for debugging.- Returns:
- log prefix
-
setLogPrefix
Set log prefix for debugging.- Parameters:
prefix
- log prefix
-
getOutputType
Get the output type to be enforced.- Returns:
- output type
-
setOutputType
Set the output type to be enforced.- Parameters:
type
- output type
-
getCustomObject
Return the custom (externally provided) object.- Returns:
- the custom object
-
setCustomObject
Set the custom (externally provided) object.- Parameters:
object
- the custom object
-
getHideExceptions
protected boolean getHideExceptions()Get whether to hide exceptions in script execution.- Returns:
- whether to hide exceptions in script execution
-
setHideExceptions
public void setHideExceptions(boolean flag) Set whether to hide exceptions in script execution (default is false).- Parameters:
flag
- flag to set
-
getReturnOnError
Get value to return if an error occurs.- Returns:
- value to return
-
setReturnOnError
Set value to return if an error occurs.- Parameters:
value
- value to return
-
evaluate
Evaluate the script.- Parameters:
input
- input parameters- Returns:
- script result
-
prepareContext
protected abstract void prepareContext(@Nonnull ScriptContext scriptContext, @Nullable Object... input) Pre-process the script context before execution.- Parameters:
scriptContext
- the script contextinput
- the input
-
finalizeContext
@Nullable protected Object finalizeContext(@Nonnull ScriptContext scriptContext, @Nullable Object scriptResult) throws ScriptException Complete processing by evaluating the result of the script and returning the final result to the caller.The default implementation just returns the result.
- Parameters:
scriptContext
- the context after executionscriptResult
- the result of script execution- Returns:
- the final result to return, or null
- Throws:
ScriptException
- to signal a failure after script execution
-