Module java.base

Class 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 Detail

      • ModuleReference

        protected ModuleReference​(ModuleDescriptor descriptor,
                                  URI ___location)
        Constructs a new instance of this class.
        Parameters:
        descriptor - The module descriptor
        ___location - The module ___location or null 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 a SecureClassLoader.

        Returns:
        The ___location or an empty Optional if not known