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 voidclose()static RubyInterpreterconcurrent()+------------------+ +------------------+ +------------------+ | Variable Map | | Variable Map | | Variable Map | +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | Ruby runtime | +------------------------------------------------------------+ +------------------------------------------------------------+ | ScriptingContainer | +------------------------------------------------------------+ +------------------+ +------------------+ +------------------+ | Java Thread | | Java Thread | | Java Thread | +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | JVM | +------------------------------------------------------------+ObjectgetClassMethods(Class<?> classToGet)StringgetFileExtension()StringgetFileHeader()voidinitialize()Initialize the ruby engine.booleanisClosed()voidprint(String toPrint)voidregisterClass(Class clazz)Register a class to be recognized by Ruby.ObjectrunCommand(String command)be.yildizgames.module.script.ParsedScriptrunScript(String file)voidsetOutput(Writer output)static RubyInterpretersingleThread()+------------------+ +------------------+ +------------------+ | Variable Map | | Variable Map | | Variable Map | +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ | Ruby runtime | | Ruby runtime | | Ruby runtime | +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ +------------------+ |ScriptingContainer| |ScriptingContainer| |ScriptingContainer| +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | JVM | +------------------------------------------------------------+static RubyInterpretersingleton()+------------------------------------------------------------+ | Variable Map | +------------------------------------------------------------+ +------------------------------------------------------------+ | Ruby runtime | +------------------------------------------------------------+ +------------------+ +------------------+ +------------------+ |ScriptingContainer| |ScriptingContainer| |ScriptingContainer| +------------------+ +------------------+ +------------------+ +------------------------------------------------------------+ | JVM | +------------------------------------------------------------+static RubyInterpreterthreadSafe()+------------------+ +------------------+ +------------------+ | 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:
setOutputin classbe.yildizgames.module.script.ScriptInterpreter
-
runScript
public final be.yildizgames.module.script.ParsedScript runScript(String file) throws be.yildizgames.module.script.ScriptException- Specified by:
runScriptin classbe.yildizgames.module.script.ScriptInterpreter- Throws:
be.yildizgames.module.script.ScriptException
-
runCommand
- Specified by:
runCommandin classbe.yildizgames.module.script.ScriptInterpreter- Throws:
be.yildizgames.module.script.ScriptException
-
getClassMethods
- Specified by:
getClassMethodsin classbe.yildizgames.module.script.ScriptInterpreter
-
print
- Specified by:
printin classbe.yildizgames.module.script.ScriptInterpreter
-
getFileHeader
- Specified by:
getFileHeaderin classbe.yildizgames.module.script.ScriptInterpreter
-
getFileExtension
- Specified by:
getFileExtensionin classbe.yildizgames.module.script.ScriptInterpreter- Returns:
- rb
-
isClosed
public final boolean isClosed()- Specified by:
isClosedin classbe.yildizgames.module.script.ScriptInterpreter
-
close
public final void close()
-