Top Description Fields Constructors Methods
org.hibernate.validator.internal.engine.scripting

public Class DefaultScriptEvaluatorFactory

extends AbstractCachingScriptEvaluatorFactory
Class Inheritance
Imports
java.lang.invoke.MethodHandles, java.security.AccessController, .PrivilegedAction, javax.script.ScriptEngine, .ScriptEngineManager, org.hibernate.validator.internal.IgnoreForbiddenApisErrors, org.hibernate.validator.internal.util.logging.Log, .LoggerFactory, org.hibernate.validator.internal.util.privilegedactions.GetClassLoader, org.hibernate.validator.spi.scripting.AbstractCachingScriptEvaluatorFactory, .ScriptEngineScriptEvaluator, .ScriptEvaluationException, .ScriptEvaluator

Factory responsible for the creation of JSR 223 based ScriptEngineScriptEvaluators. This class is thread-safe.
Authors
Gunnar Morling, Kevin Pollet <[email protected]> (C) 2011 SERLI, Marko Bekhta, Guillaume Smet

Field Summary

Modifier and TypeField and Description
private ClassLoader
private static final Log
private volatile ScriptEngineManager
private volatile ScriptEngineManager

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
protected ScriptEvaluator
createNewScriptEvaluator(String
the name of a scripting language
languageName
)

Implements abstract org.hibernate.validator.spi.scripting.AbstractCachingScriptEvaluatorFactory.createNewScriptEvaluator.

Creates a new script evaluator for the given language.
private ScriptEngineManager
private ScriptEngineManager
private static <T> T
run(PrivilegedAction<T> action)

Runs the given privileged action, using a privileged block if required.

Inherited from org.hibernate.validator.spi.scripting.AbstractCachingScriptEvaluatorFactory:
getScriptEvaluatorByLanguageName

Field Detail

classLoaderback to summary
private ClassLoader classLoader
LOGback to summary
private static final Log LOG
scriptEngineManagerback to summary
private volatile ScriptEngineManager scriptEngineManager
threadContextClassLoaderScriptEngineManagerback to summary
private volatile ScriptEngineManager threadContextClassLoaderScriptEngineManager

Constructor Detail

DefaultScriptEvaluatorFactoryback to summary
public DefaultScriptEvaluatorFactory(ClassLoader externalClassLoader)

Method Detail

clearback to summary
public void clear()

Overrides org.hibernate.validator.spi.scripting.AbstractCachingScriptEvaluatorFactory.clear.

Implements org.hibernate.validator.spi.scripting.ScriptEvaluatorFactory.clear.

Doc from org.hibernate.validator.spi.scripting.ScriptEvaluatorFactory.clear.

Clear the state of the factory.

Called when the ValidatorFactory is closed.

Annotations
@Override
createNewScriptEvaluatorback to summary
protected ScriptEvaluator createNewScriptEvaluator(String languageName) throws ScriptEvaluationException

Implements abstract org.hibernate.validator.spi.scripting.AbstractCachingScriptEvaluatorFactory.createNewScriptEvaluator.

Doc from org.hibernate.validator.spi.scripting.AbstractCachingScriptEvaluatorFactory.createNewScriptEvaluator.

Creates a new script evaluator for the given language.

Parameters
languageName:String

the name of a scripting language

Returns:ScriptEvaluator

a newly created script evaluator for the given language

Annotations
@Override
getScriptEngineManagerback to summary
private ScriptEngineManager getScriptEngineManager()
getThreadContextClassLoaderScriptEngineManagerback to summary
private ScriptEngineManager getThreadContextClassLoaderScriptEngineManager()
runback to summary
private static <T> T run(PrivilegedAction<T> action)

Runs the given privileged action, using a privileged block if required.

Note

This must never be changed into a publicly available method to avoid execution of arbitrary privileged actions within HV's protection domain.

Annotations
@IgnoreForbiddenApisErrors
reason:SecurityManager is deprecated in JDK17