NetBeans Architecture Answers for GraalVM SDK API module


Interfaces table

Group of java interfaces
Interface NameIn/OutStabilitySpecified in What Document?
org.netbeans.api.scriptingImportedOfficial

Scripting class offers static createManager() method that should be used whenever one needs an instance of ScriptEngineManager inside of NetBeans based application.

The module is needed for compilation. The module is used during runtime. Specification version 1.2 is required.

org.graalvm.polyglot.wrapperExportedStable

This module re-exports all found GraalVM languages under GraalVM:lang name and makes them accessible via NetBeans
Scripting API.

org.graalvm.polyglotExportedThird party

This module re-exports org.graalvm.polyglot APIs. Use them to obtain access to the GraalVM directly, if you only want to work with them and generic
Scripting wrapper isn't enough.

WeakListener.setAccessibleImportedUnder Development

The module is needed for compilation. The module is used during runtime. Specification version 9.10 is required.

LookupAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 8.36 is required.

Group of property interfaces
Interface NameIn/OutStabilitySpecified in What Document?
GraalVM:EngineExportedStable

When this module is used (on
GraalVM or without) it automatically exports all available languages (obtained via org.graalvm.polyglot.Engine) as ScriptEngine instances. These dynamically created engines use GraalVM: prefix (GraalVM:js, GraalVM:python) in their name.

allowAllAccessExportedStable

By default all the
GraalVM engines (named GraalVM:something) run in a very restricted, secure sandbox. See GraalSDK for details. That means the languages cannot access local files, ports, etc. Some languages (like >FastR implementation of the R language) need such access. In such case one has to allow such access. This can be done by
var eng = Scripting.createManager().getEngineByMimeType("application/x-r");
eng.getContext().setAttribute("allowAllAccess", true, ScriptContext.GLOBAL_SCOPE)
        


General Information


Project and platform dependencies


Deployment


Compatibility with environment


Access to resources


Lookup of components


Execution Environment


Format of files and protocols


Performance and Scalability