Class ScriptManager
- java.lang.Object
-
- org.apache.logging.log4j.core.script.ScriptManager
-
- All Implemented Interfaces:
FileWatcher
public class ScriptManager extends java.lang.Object implements FileWatcher
Manages the scripts use by the Configuration.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
ScriptManager.AbstractScriptRunner
private class
ScriptManager.MainScriptRunner
private static interface
ScriptManager.ScriptRunner
private class
ScriptManager.ThreadLocalScriptRunner
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<java.lang.String>
allowedLanguages
private Configuration
configuration
private static java.lang.String
KEY_THREADING
private java.lang.String
languages
private static Logger
logger
private javax.script.ScriptEngineManager
manager
private java.util.concurrent.ConcurrentMap<java.lang.String,ScriptManager.ScriptRunner>
scriptRunners
private WatchManager
watchManager
-
Constructor Summary
Constructors Constructor Description ScriptManager(Configuration configuration, WatchManager watchManager, java.lang.String scriptLanguages)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addScript(AbstractScript script)
javax.script.Bindings
createBindings(AbstractScript script)
java.lang.Object
execute(java.lang.String name, javax.script.Bindings bindings)
void
fileModified(java.io.File file)
Called when aWatchManager
detects that the givenFile
changed.java.util.Set<java.lang.String>
getAllowedLanguages()
AbstractScript
getScript(java.lang.String name)
private ScriptManager.ScriptRunner
getScriptRunner(AbstractScript script)
-
-
-
Field Detail
-
KEY_THREADING
private static final java.lang.String KEY_THREADING
- See Also:
- Constant Field Values
-
logger
private static final Logger logger
-
configuration
private final Configuration configuration
-
manager
private final javax.script.ScriptEngineManager manager
-
scriptRunners
private final java.util.concurrent.ConcurrentMap<java.lang.String,ScriptManager.ScriptRunner> scriptRunners
-
languages
private final java.lang.String languages
-
allowedLanguages
private final java.util.Set<java.lang.String> allowedLanguages
-
watchManager
private final WatchManager watchManager
-
-
Constructor Detail
-
ScriptManager
public ScriptManager(Configuration configuration, WatchManager watchManager, java.lang.String scriptLanguages)
-
-
Method Detail
-
getAllowedLanguages
public java.util.Set<java.lang.String> getAllowedLanguages()
-
addScript
public boolean addScript(AbstractScript script)
-
createBindings
public javax.script.Bindings createBindings(AbstractScript script)
-
getScript
public AbstractScript getScript(java.lang.String name)
-
fileModified
public void fileModified(java.io.File file)
Description copied from interface:FileWatcher
Called when aWatchManager
detects that the givenFile
changed.- Specified by:
fileModified
in interfaceFileWatcher
- Parameters:
file
- the file that changed.- See Also:
WatchManager
-
execute
public java.lang.Object execute(java.lang.String name, javax.script.Bindings bindings)
-
getScriptRunner
private ScriptManager.ScriptRunner getScriptRunner(AbstractScript script)
-
-