Bridge that plugs
GraalVM languages
into
Scripting.createManager()
to obtain enhanced version of
ScriptEngineManager.
Please see the
scripting tutorial
to read about many interesting use-cases.
Use Cases
Create ScriptEngineManager
To access GraalVM languages
use
To create new instance script engine manager ready for the NetBeans
execution environment use
Scripting
class offers static createManager()
method that
should be used whenever one needs an instance of
ScriptEngineManager
inside of NetBeans based application.
Many client oriented use-cases are covered in the
scripting tutorial.
Re-export of GraalVM languages
This module re-exports all found GraalVM languages under
GraalVM:lang
name and makes them accessible via
NetBeans Scripting
API.
Use Graal SDK directly
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.
Exported Interfaces
This table lists all of the module exported APIs
with
defined stability classifications. It is generated
based on answers to questions about the architecture
of the module.
Read them all...
Group of java interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
org.graalvm.polyglot.wrapper | Exported | Stable |
This module re-exports all found GraalVM languages under
GraalVM:lang name and makes them accessible via
NetBeans Scripting
API.
|
org.graalvm.polyglot | Exported | Third 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.
|
|
Group of property interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
GraalVM:Engine | Exported | Stable |
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.
|
allowAllAccess | Exported | Stable |
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)
|
|
Implementation Details
Where are the sources for the module?
The sources for the module are in the
Apache Git repositories
or in the GitHub repositories.
What do other modules need to do to declare a dependency on this one, in addition to or instead of a plain module dependency?
XXX no answer for deploy-dependencies
Read more about the implementation in the answers to
architecture questions.