Class ScriptedBiConsumer<T,U>
java.lang.Object
net.shibboleth.utilities.java.support.scripting.AbstractScriptEvaluator
net.shibboleth.utilities.java.support.logic.ScriptedBiConsumer<T,U>
- Type Parameters:
T
- first input typeU
- second input type
- All Implemented Interfaces:
BiConsumer<T,U>
public class ScriptedBiConsumer<T,U> extends AbstractScriptEvaluator implements BiConsumer<T,U>
A
BiConsumer
which calls out to a supplied script.- Since:
- 8.2.0
-
Field Summary
Fields Modifier and Type Field Description private Pair<Class<T>,Class<U>>
inputTypes
Input types.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
ScriptedBiConsumer(EvaluableScript theScript)
Constructor.protected
ScriptedBiConsumer(EvaluableScript theScript, String extraInfo)
Constructor. -
Method Summary
Modifier and Type Method Description void
accept(T first, U second)
Pair<Class<T>,Class<U>>
getInputTypes()
Get the input type to be enforced.static <T, U> ScriptedBiConsumer<T,U>
inlineScript(String scriptSource)
Factory to createScriptedBiConsumer
from inline data.static <T, U> ScriptedBiConsumer<T,U>
inlineScript(String engineName, String scriptSource)
Factory to createScriptedBiConsumer
from inline data.protected void
prepareContext(ScriptContext scriptContext, Object... input)
Pre-process the script context before execution.static <T, U> ScriptedBiConsumer<T,U>
resourceScript(String engineName, Resource resource)
Factory to createScriptedBiConsumer
from aResource
.static <T, U> ScriptedBiConsumer<T,U>
resourceScript(Resource resource)
Factory to createScriptedBiConsumer
from aResource
.void
setInputTypes(Pair<Class<T>,Class<U>> types)
Set the input types 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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.function.BiConsumer
andThen
-
Field Details
-
log
@Nonnull private final org.slf4j.Logger logClass logger. -
inputTypes
Input types.
-
-
Constructor Details
-
ScriptedBiConsumer
protected ScriptedBiConsumer(@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.
-
ScriptedBiConsumer
protected ScriptedBiConsumer(@Nonnull @NotEmpty @ParameterName(name="theScript") EvaluableScript theScript)Constructor.- Parameters:
theScript
- the script we will evaluate.
-
-
Method Details
-
getInputTypes
Get the input type to be enforced.- Returns:
- input type
-
setInputTypes
Set the input types to be enforced.- Parameters:
types
- the input types
-
accept
- Specified by:
accept
in interfaceBiConsumer<T,U>
-
prepareContext
Pre-process the script context before execution.- Specified by:
prepareContext
in classAbstractScriptEvaluator
- Parameters:
scriptContext
- the script contextinput
- the input
-
resourceScript
public static <T, U> ScriptedBiConsumer<T,U> resourceScript(@Nonnull @NotEmpty String engineName, @Nonnull Resource resource) throws ScriptException, IOExceptionFactory to createScriptedBiConsumer
from aResource
.- Type Parameters:
T
- first input typeU
- second 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, U> ScriptedBiConsumer<T,U> resourceScript(Resource resource) throws ScriptException, IOExceptionFactory to createScriptedBiConsumer
from aResource
.- Type Parameters:
T
- first input typeU
- second 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, U> ScriptedBiConsumer<T,U> inlineScript(@Nonnull @NotEmpty String engineName, @Nonnull @NotEmpty String scriptSource) throws ScriptExceptionFactory to createScriptedBiConsumer
from inline data.- Type Parameters:
T
- first input typeU
- second input type- Parameters:
scriptSource
- the script, as a stringengineName
- the language- Returns:
- the function
- Throws:
ScriptException
- if the compile fails
-
inlineScript
public static <T, U> ScriptedBiConsumer<T,U> inlineScript(@Nonnull @NotEmpty String scriptSource) throws ScriptExceptionFactory to createScriptedBiConsumer
from inline data.- Type Parameters:
T
- first input typeU
- second input type- Parameters:
scriptSource
- the script, as a string- Returns:
- the function
- Throws:
ScriptException
- if the compile fails
-