Module jdk.dynalink

Package jdk.dynalink.linker

Contains interfaces and classes needed by language runtimes to implement their own language-specific object models and type conversions. The main entry point is the GuardingDynamicLinker interface. It needs to be implemented in order to provide linking for the runtime's own object model. A language runtime can have more than one guarding dynamic linker implementation. When a runtime is configuring Dynalink for itself, it will normally set these guarding linkers as the prioritized linkers in its DynamicLinkerFactory (and maybe some of them as fallback linkers, for e.g. handling "method not found" and similar errors in a language-specific manner if no other linker managed to handle the operation.)

A language runtime that wishes to make at least some of its linkers available to other language runtimes for interoperability will need to use a GuardingDynamicLinkerExporter.

Most language runtimes will be able to implement their own linking logic by implementing TypeBasedGuardingDynamicLinker instead of GuardingDynamicLinker; it allows for faster type-based linking dispatch.

Language runtimes that allow type conversions other than those provided by Java will need to have their guarding dynamic linker (or linkers) also implement the GuardingTypeConverterFactory interface to provide the logic for these conversions.