public class JavaEmbedUtils
extends java.lang.Object
Example:
Ruby runtime = JavaEmbedUtils.initialize(List.of("a/custom/load/path"));
RubyRuntimeAdapter evaler = JavaEmbedUtils.newRuntimeAdapter();
IRubyObject rubyObject = evaler.parse(runtime, expr.toString(), file, line).run());
SomeClassOrInterface javaObject = JavaEmbedUtils.rubyToJava(rubyObject, SomeClassOrInterface.class);
runtime.terminate();
| Modifier and Type | Class and Description |
|---|---|
static interface |
JavaEmbedUtils.EvalUnit
All implementers can be run and will return the last value in the evaluation unit.
|
static class |
JavaEmbedUtils.InterpretedEvalUnit
An evaluation unit which is based on running JRuby's interpreter (as opposed to the
compiler).
|
| Constructor and Description |
|---|
JavaEmbedUtils() |
| Modifier and Type | Method and Description |
|---|---|
static Ruby |
initialize(java.util.List<java.lang.String> loadPaths)
Get an instance of a JRuby runtime.
|
static Ruby |
initialize(java.util.List<java.lang.String> loadPaths,
RubyInstanceConfig config)
Get an instance of a JRuby runtime.
|
static <T> T |
invokeMethod(Ruby runtime,
java.lang.Object receiver,
java.lang.String method,
java.lang.Object[] args,
java.lang.Class<T> returnType)
Convenience function for embedders
|
static IRubyObject |
javaToRuby(Ruby runtime,
boolean value) |
static IRubyObject |
javaToRuby(Ruby runtime,
byte value) |
static IRubyObject |
javaToRuby(Ruby runtime,
char value) |
static IRubyObject |
javaToRuby(Ruby runtime,
double value) |
static IRubyObject |
javaToRuby(Ruby runtime,
float value) |
static IRubyObject |
javaToRuby(Ruby runtime,
int value) |
static IRubyObject |
javaToRuby(Ruby runtime,
long value) |
static IRubyObject |
javaToRuby(Ruby runtime,
java.lang.Object value)
Convert a java object to a Ruby object.
|
static IRubyObject |
javaToRuby(Ruby runtime,
short value) |
static RubyObjectAdapter |
newObjectAdapter() |
static RubyRuntimeAdapter |
newRuntimeAdapter() |
static <T> T |
rubyToJava(IRubyObject value)
Convert the Ruby object to a Java Object.
|
static <T> T |
rubyToJava(IRubyObject value,
java.lang.Class<T> type)
Convert a Ruby object to a Java object.
|
static <T> T |
rubyToJava(Ruby runtime,
IRubyObject value,
java.lang.Class<T> type) |
static void |
terminate(Ruby runtime)
Dispose of the runtime you initialized.
|
public static Ruby initialize(java.util.List<java.lang.String> loadPaths)
loadPaths - to specify where to look for Ruby modules.public static Ruby initialize(java.util.List<java.lang.String> loadPaths, RubyInstanceConfig config)
loadPaths - additional load paths you wish to addconfig - a runtime configuration instancepublic static RubyObjectAdapter newObjectAdapter()
public static RubyRuntimeAdapter newRuntimeAdapter()
public static void terminate(Ruby runtime)
runtime - to be disposed ofpublic static <T> T invokeMethod(Ruby runtime, java.lang.Object receiver, java.lang.String method, java.lang.Object[] args, java.lang.Class<T> returnType)
runtime - environment where the invoke will occurreceiver - is the instance that will receive the method callmethod - is method to be calledargs - are the arguments to the methodreturnType - is the type we want it to conform topublic static <T> T rubyToJava(IRubyObject value, java.lang.Class<T> type)
public static <T> T rubyToJava(Ruby runtime, IRubyObject value, java.lang.Class<T> type)
public static <T> T rubyToJava(IRubyObject value)
value - to be convertedpublic static IRubyObject javaToRuby(Ruby runtime, java.lang.Object value)
public static IRubyObject javaToRuby(Ruby runtime, boolean value)
public static IRubyObject javaToRuby(Ruby runtime, byte value)
public static IRubyObject javaToRuby(Ruby runtime, char value)
public static IRubyObject javaToRuby(Ruby runtime, double value)
public static IRubyObject javaToRuby(Ruby runtime, float value)
public static IRubyObject javaToRuby(Ruby runtime, int value)
public static IRubyObject javaToRuby(Ruby runtime, long value)
public static IRubyObject javaToRuby(Ruby runtime, short value)
Copyright © 2001-2023 JRuby. All Rights Reserved.