public abstract class ModuleReference extends Object
A module reference is a concrete implementation of this class that implements the abstract methods defined by this class. It contains the module's descriptor and its location, if known. It also has the ability to create a ModuleReader
in order to access the module's content, which may be inside the Java run-time system itself or in an artifact such as a modular JAR file.
Modifier | Constructor | Description |
---|---|---|
protected |
Constructs a new instance of this class. |
Modifier and Type | Method | Description |
---|---|---|
final ModuleDescriptor |
descriptor() |
Returns the module descriptor. |
final Optional |
location() |
Returns the location of this module's content, if known. |
abstract ModuleReader |
open() |
Opens the module content for reading. |
protected ModuleReference(ModuleDescriptor descriptor, URI location)
descriptor
- The module descriptorlocation
- The module location or null
if not knownpublic final ModuleDescriptor descriptor()
public final Optional<URI> location()
This URI, when present, can be used as the location value of a CodeSource
so that a module's classes can be granted specific permissions when loaded by a SecureClassLoader
.
Optional
if not knownpublic abstract ModuleReader open() throws IOException
ModuleReader
to read the moduleIOException
- If an I/O error occursSecurityException
- If denied by the security manager
© 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/java.base/java/lang/module/ModuleReference.html