1
import com.oracle.truffle.js.scriptengine.GraalJSScriptEngine;
import org.graalvm.polyglot.Context;

import javax.script.Compilable;

public class Main {
    Context.Builder context = Context.newBuilder("js")
            .allowAllAccess(true)
            .option("js.nashorn-compat","true");
    GraalJSScriptEngine  graalJSScriptEngine = GraalJSScriptEngine.create(null, context);
    Compilable comparable = (Compilable) graalJSScriptEngine;

    String script = "function accessKey(){ return name; };" +
            "accessKey();";

}

I want to access name variable through database, there is class that provides value for key

public class AccessDataBase {
    public Object getVakueFromDb(String key){
        Object value = null;
        // database fetch code for fetch value
        return value;
    }
}

This class provides value of particular key, (eg: getVakueFromDb("name")) But in my case I didn't want access key like

var accesdb = Java.type("org.accessDataBase")
accesdb.getValueForDb("name")

I want direct access if i am using variable it should internally call getValueFromDb method, like bindings.

  • doc says use [TruffleMap](https://www.graalvm.org/22.2/reference-manual/js/JavaInteroperability/#access-to-javascript-objects-from-java) also check https://github.com/oracle/graaljs/issues/3 – ozkanpakdil Oct 24 '22 at 16:02

0 Answers0