Class ScriptedConsumer<T>
java.lang.Object
net.shibboleth.utilities.java.support.scripting.AbstractScriptEvaluator
net.shibboleth.utilities.java.support.logic.ScriptedConsumer<T>
- Type Parameters:
T
- input type
- All Implemented Interfaces:
Consumer<T>
public class ScriptedConsumer<T> extends AbstractScriptEvaluator implements Consumer<T>
A
Consumer
which calls out to a supplied script.- Since:
- 8.2.0
-
Field Summary
Fields Modifier and Type Field Description private Class<T>
inputTypeClass
Input Type.private org.slf4j.Logger
log
Class logger.Fields inherited from class net.shibboleth.utilities.java.support.scripting.AbstractScriptEvaluator
DEFAULT_ENGINE
-
Constructor Summary
Constructors Modifier Constructor Description protected
ScriptedConsumer(EvaluableScript theScript)
Constructor.protected
ScriptedConsumer(EvaluableScript theScript, String extraInfo)
Constructor. -
Method Summary
Modifier and Type Method Description void
accept(T input)
Class<T>
getInputType()
Get the input type to be enforced.static <T> ScriptedConsumer<T>
inlineScript(String scriptSource)
Factory to createScriptedConsumer
from inline data.static <T> ScriptedConsumer<T>
inlineScript(String engineName, String scriptSource)
Factory to createScriptedConsumer
from inline data.protected void
prepareContext(ScriptContext scriptContext, Object... input)
Pre-process the script context before execution.static <T> ScriptedConsumer<T>
resourceScript(String engineName, Resource resource)
Factory to createScriptedConsumer
from aResource
.static <T> ScriptedConsumer<T>
resourceScript(Resource resource)
Factory to createScriptedConsumer
from aResource
.void
setInputType(Class<T> type)
Set the input type to be enforced.Methods inherited from class net.shibboleth.utilities.java.support.scripting.AbstractScriptEvaluator
evaluate, finalizeContext, getCustomObject, getHideExceptions, getLogPrefix, getOutputType, getReturnOnError, setCustomObject, setHideExceptions, setLogPrefix, setOutputType, setReturnOnError
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
inputTypeClass
Input Type.
-
-
Constructor Details
-
ScriptedConsumer
protected ScriptedConsumer(@Nonnull @NotEmpty @ParameterName(name="theScript") EvaluableScript theScript, @Nullable @NotEmpty @ParameterName(name="extraInfo") String extraInfo)Constructor.- Parameters:
theScript
- the script we will evaluate.extraInfo
- debugging information.
-
ScriptedConsumer
protected ScriptedConsumer(@Nonnull @NotEmpty @ParameterName(name="theScript") EvaluableScript theScript)Constructor.- Parameters:
theScript
- the script we will evaluate.
-
-
Method Details
-
getInputType
Get the input type to be enforced.- Returns:
- input type
-
setInputType
Set the input type to be enforced.- Parameters:
type
- input type
-
accept
-
prepareContext
Pre-process the script context before execution.- Specified by:
prepareContext
in classAbstractScriptEvaluator
- Parameters:
scriptContext
- the script contextinput
- the input
-
resourceScript
public static <T> ScriptedConsumer<T> resourceScript(@Nonnull @NotEmpty String engineName, @Nonnull Resource resource) throws ScriptException, IOExceptionFactory to createScriptedConsumer
from aResource
.- Type Parameters:
T
- input type- Parameters:
resource
- the resource to look atengineName
- the language- Returns:
- the function
- Throws:
ScriptException
- if the compile failsIOException
- if the file doesn't exist.
-
resourceScript
public static <T> ScriptedConsumer<T> resourceScript(Resource resource) throws ScriptException, IOExceptionFactory to createScriptedConsumer
from aResource
.- Type Parameters:
T
- input type- Parameters:
resource
- the resource to look at- Returns:
- the function
- Throws:
ScriptException
- if the compile failsIOException
- if the file doesn't exist.
-
inlineScript
public static <T> ScriptedConsumer<T> inlineScript(@Nonnull @NotEmpty String engineName, @Nonnull @NotEmpty String scriptSource) throws ScriptExceptionFactory to createScriptedConsumer
from inline data.- Type Parameters:
T
- input type- Parameters:
scriptSource
- the script, as a stringengineName
- the language- Returns:
- the function
- Throws:
ScriptException
- if the compile fails
-
inlineScript
public static <T> ScriptedConsumer<T> inlineScript(@Nonnull @NotEmpty String scriptSource) throws ScriptExceptionFactory to createScriptedConsumer
from inline data.- Type Parameters:
T
- input type- Parameters:
scriptSource
- the script, as a string- Returns:
- the function
- Throws:
ScriptException
- if the compile fails
-