Package delight.nashornsandbox.internal
Class JsEvaluator
- java.lang.Object
-
- delight.nashornsandbox.internal.JsEvaluator
-
- All Implemented Interfaces:
java.lang.Runnable
class JsEvaluator extends java.lang.Object implements java.lang.Runnable
The JavaScript evaluator. It is designed to run Nashorn engine in separate thread (using providedExecutorService
), to allow limit cpu time consumed.Created on 2017.11.22
- Version:
- $Id$
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Exception
exception
private ScriptEngineOperation
operation
private java.lang.Object
result
private javax.script.ScriptEngine
scriptEngine
private ThreadMonitor
threadMonitor
-
Constructor Summary
Constructors Constructor Description JsEvaluator(javax.script.ScriptEngine scriptEngine, long maxCPUTime, long maxMemory, ScriptEngineOperation operation)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) java.lang.Exception
getException()
(package private) java.lang.Object
getResult()
(package private) boolean
isCPULimitExceeded()
(package private) boolean
isMemoryLimitExceeded()
(package private) boolean
isScriptKilled()
void
run()
(package private) void
runMonitor()
Enter the monitor method.
-
-
-
Field Detail
-
threadMonitor
private final ThreadMonitor threadMonitor
-
scriptEngine
private final javax.script.ScriptEngine scriptEngine
-
result
private java.lang.Object result
-
exception
private java.lang.Exception exception
-
operation
private final ScriptEngineOperation operation
-
-
Constructor Detail
-
JsEvaluator
JsEvaluator(javax.script.ScriptEngine scriptEngine, long maxCPUTime, long maxMemory, ScriptEngineOperation operation)
-
-
Method Detail
-
isScriptKilled
boolean isScriptKilled()
-
isCPULimitExceeded
boolean isCPULimitExceeded()
-
isMemoryLimitExceeded
boolean isMemoryLimitExceeded()
-
runMonitor
void runMonitor()
Enter the monitor method. It should be called from main thread.
-
run
public void run()
- Specified by:
run
in interfacejava.lang.Runnable
-
getException
java.lang.Exception getException()
-
getResult
java.lang.Object getResult()
-
-