Class RubyInterpreter
java.lang.Object
be.yildizgames.module.script.ScriptInterpreter
be.yildizgames.module.script.ruby.RubyInterpreter
- All Implemented Interfaces:
AutoCloseable
public final class RubyInterpreter
extends be.yildizgames.module.script.ScriptInterpreter
Ruby implementation as script interpreter.
- Author:
- Grégory Van den Borre
-
Method Summary
Modifier and Type Method Description void
close()
static RubyInterpreter
concurrent()
+------------------+ +------------------+ +------------------+ | Variable Map | | Variable Map | | Variable Map | +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | Ruby runtime | +------------------------------------------------------------+ +------------------------------------------------------------+ | ScriptingContainer | +------------------------------------------------------------+ +------------------+ +------------------+ +------------------+ | Java Thread | | Java Thread | | Java Thread | +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | JVM | +------------------------------------------------------------+Object
getClassMethods(Class<?> classToGet)
String
getFileExtension()
String
getFileHeader()
void
initialize()
Initialize the ruby engine.boolean
isClosed()
void
print(String toPrint)
void
registerClass(Class clazz)
Register a class to be recognized by Ruby.Object
runCommand(String command)
be.yildizgames.module.script.ParsedScript
runScript(String file)
void
setOutput(Writer output)
static RubyInterpreter
singleThread()
+------------------+ +------------------+ +------------------+ | Variable Map | | Variable Map | | Variable Map | +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ | Ruby runtime | | Ruby runtime | | Ruby runtime | +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ |ScriptingContainer| |ScriptingContainer| |ScriptingContainer| +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | JVM | +------------------------------------------------------------+static RubyInterpreter
singleton()
+------------------------------------------------------------+ | Variable Map | +------------------------------------------------------------+ +------------------------------------------------------------+ | Ruby runtime | +------------------------------------------------------------+ +------------------+ +------------------+ +------------------+ |ScriptingContainer| |ScriptingContainer| |ScriptingContainer| +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | JVM | +------------------------------------------------------------+static RubyInterpreter
threadSafe()
+------------------+ +------------------+ +------------------+ | Variable Map | | Variable Map | | Variable Map | +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ | Ruby runtime | | Ruby runtime | | Ruby runtime | +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | ScriptingContainer | +------------------------------------------------------------+ +------------------+ +------------------+ +------------------+ | Java Thread | | Java Thread | | Java Thread | +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | JVM | +------------------------------------------------------------+Methods inherited from class be.yildizgames.module.script.ScriptInterpreter
getEngine
-
Method Details
-
singleThread
+------------------+ +------------------+ +------------------+ | Variable Map | | Variable Map | | Variable Map | +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ | Ruby runtime | | Ruby runtime | | Ruby runtime | +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ |ScriptingContainer| |ScriptingContainer| |ScriptingContainer| +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | JVM | +------------------------------------------------------------+- Returns:
- A new RubyInterpreter with simple single thread scope.
-
concurrent
+------------------+ +------------------+ +------------------+ | Variable Map | | Variable Map | | Variable Map | +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | Ruby runtime | +------------------------------------------------------------+ +------------------------------------------------------------+ | ScriptingContainer | +------------------------------------------------------------+ +------------------+ +------------------+ +------------------+ | Java Thread | | Java Thread | | Java Thread | +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | JVM | +------------------------------------------------------------+- Returns:
- A new RubyInterpreter with concurrent scope.
-
singleton
+------------------------------------------------------------+ | Variable Map | +------------------------------------------------------------+ +------------------------------------------------------------+ | Ruby runtime | +------------------------------------------------------------+ +------------------+ +------------------+ +------------------+ |ScriptingContainer| |ScriptingContainer| |ScriptingContainer| +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | JVM | +------------------------------------------------------------+- Returns:
- A new RubyInterpreter with singleton scope.
-
threadSafe
+------------------+ +------------------+ +------------------+ | Variable Map | | Variable Map | | Variable Map | +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ | Ruby runtime | | Ruby runtime | | Ruby runtime | +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | ScriptingContainer | +------------------------------------------------------------+ +------------------+ +------------------+ +------------------+ | Java Thread | | Java Thread | | Java Thread | +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | JVM | +------------------------------------------------------------+- Returns:
- A new RubyInterpreter with thread safety scope.
-
initialize
public final void initialize() throws be.yildizgames.module.script.ScriptExceptionInitialize the ruby engine.- Throws:
be.yildizgames.module.script.ScriptException
- If the initialization failed.
-
registerClass
Register a class to be recognized by Ruby.- Parameters:
clazz
- Class to register.- Throws:
be.yildizgames.module.script.ScriptException
- If the class cannot be registered.
-
setOutput
- Specified by:
setOutput
in classbe.yildizgames.module.script.ScriptInterpreter
-
runScript
public final be.yildizgames.module.script.ParsedScript runScript(String file) throws be.yildizgames.module.script.ScriptException- Specified by:
runScript
in classbe.yildizgames.module.script.ScriptInterpreter
- Throws:
be.yildizgames.module.script.ScriptException
-
runCommand
- Specified by:
runCommand
in classbe.yildizgames.module.script.ScriptInterpreter
- Throws:
be.yildizgames.module.script.ScriptException
-
getClassMethods
- Specified by:
getClassMethods
in classbe.yildizgames.module.script.ScriptInterpreter
-
print
- Specified by:
print
in classbe.yildizgames.module.script.ScriptInterpreter
-
getFileHeader
- Specified by:
getFileHeader
in classbe.yildizgames.module.script.ScriptInterpreter
-
getFileExtension
- Specified by:
getFileExtension
in classbe.yildizgames.module.script.ScriptInterpreter
- Returns:
- rb
-
isClosed
public final boolean isClosed()- Specified by:
isClosed
in classbe.yildizgames.module.script.ScriptInterpreter
-
close
public final void close()
-