- java.lang.Object
-
- java.lang.module.ModuleReference
-
public abstract class ModuleReference extends Object
A reference to a module's content.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.- Since:
- 9
- See Also:
ModuleFinder
,ModuleReader
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ModuleReference(ModuleDescriptor descriptor, URI ___location)
Constructs a new instance of this class.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description ModuleDescriptor
descriptor()
Returns the module descriptor.Optional<URI>
___location()
Returns the ___location of this module's content, if known.abstract ModuleReader
open()
Opens the module content for reading.
-
-
-
Constructor Detail
-
ModuleReference
protected ModuleReference(ModuleDescriptor descriptor, URI ___location)
Constructs a new instance of this class.- Parameters:
descriptor
- The module descriptor___location
- The module ___location ornull
if not known
-
-
Method Detail
-
descriptor
public final ModuleDescriptor descriptor()
Returns the module descriptor.- Returns:
- The module descriptor
-
___location
public final Optional<URI> ___location()
Returns the ___location of this module's content, if known.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 aSecureClassLoader
.- Returns:
- The ___location or an empty
Optional
if not known
-
open
public abstract ModuleReader open() throws IOException
Opens the module content for reading.- Returns:
- A
ModuleReader
to read the module - Throws:
IOException
- If an I/O error occursSecurityException
- If denied by the security manager
-
-