W3cubDocs

/OpenJDK 21

Class GuardingDynamicLinkerExporter

java.lang.Object
jdk.dynalink.linker.GuardingDynamicLinkerExporter
All Implemented Interfaces:
Supplier<List<GuardingDynamicLinker>>
public abstract class GuardingDynamicLinkerExporter extends Object implements Supplier<List<GuardingDynamicLinker>>
A class acting as a supplier of guarding dynamic linkers that can be automatically loaded by other language runtimes. Language runtimes wishing to export their own linkers should subclass this class and implement the Supplier.get() method to return a list of exported linkers and declare the subclass in /META-INF/services/jdk.dynalink.linker.GuardingDynamicLinkerExporter resource of their distribution (typically, JAR file) so that dynamic linker factories can discover them using the ServiceLoader mechanism. Note that instantiating this class is tied to a security check for the RuntimePermission("dynalink.exportLinkersAutomatically") when a security manager is present, to ensure that only trusted runtimes can automatically export their linkers into other runtimes.
See Also:

Field Summary

Modifier and Type Field Description
static final String AUTOLOAD_PERMISSION_NAME
The name of the runtime permission for creating instances of this class.

Constructor Summary

Modifier Constructor Description
protected
Creates a new linker exporter.

Method Summary

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods declared in interface java.util.function.Supplier

get

Field Details

AUTOLOAD_PERMISSION_NAME

public static final String AUTOLOAD_PERMISSION_NAME
The name of the runtime permission for creating instances of this class. Granting this permission to a language runtime allows it to export its linkers for automatic loading into other language runtimes.
See Also:

Constructor Details

GuardingDynamicLinkerExporter

protected GuardingDynamicLinkerExporter()
Creates a new linker exporter. If there is a security manager installed checks for the RuntimePermission("dynalink.exportLinkersAutomatically") runtime permission. This ensures only language runtimes granted this permission will be allowed to export their linkers for automatic loading.
Throws:
SecurityException - if the necessary runtime permission is not granted.

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/jdk.dynalink/jdk/dynalink/linker/GuardingDynamicLinkerExporter.html