Class LocalModuleFinder

    • Constructor Detail

      • LocalModuleFinder

        public LocalModuleFinder​(File[] repoRoots,
                                 PathFilter pathFilter)
        Construct a new instance.
        Parameters:
        repoRoots - the repository roots to use
        pathFilter - the path filter to use
      • LocalModuleFinder

        public LocalModuleFinder​(File[] repoRoots)
        Construct a new instance.
        Parameters:
        repoRoots - the repository roots to use
      • LocalModuleFinder

        public LocalModuleFinder()
        Construct a new instance, using the module.path system property or the JAVA_MODULEPATH environment variable to get the list of module repository roots.

        This is equivalent to a call to LocalModuleFinder(true).

      • LocalModuleFinder

        public LocalModuleFinder​(boolean supportLayersAndAddOns)
        Construct a new instance, using the module.path system property or the JAVA_MODULEPATH environment variable to get the list of module repository roots.
        Parameters:
        supportLayersAndAddOns - true if the identified module repository roots should be checked for an internal structure of child "layer" and "add-on" directories that may also be treated as module roots lower in precedence than the parent root. Any "layers" subdirectories whose names are specified in a layers.conf file found in the module repository root will be added in the precedence of order specified in the layers.conf file; all "add-on" subdirectories will be added at a lower precedence than all "layers" and with no guaranteed precedence order between them. If false no check for "layer" and "add-on" directories will be performed.
    • Method Detail

      • parseModuleXmlFile

        public static ModuleSpec parseModuleXmlFile​(String name,
                                                    ModuleLoader delegateLoader,
                                                    File... roots)
                                             throws IOException,
                                                    ModuleLoadException
        Parse a module.xml file and return the corresponding module specification.
        Parameters:
        name - the name of the module to load
        delegateLoader - the delegate module loader to use for module specifications
        roots - the repository root paths to search
        Returns:
        the module specification
        Throws:
        IOException - if reading the module file failed
        ModuleLoadException - if creating the module specification failed (e.g. due to a parse error)
      • iterateModules

        public Iterator<String> iterateModules​(String baseName,
                                               boolean recursive)
        Description copied from interface: IterableModuleFinder
        Iterate the modules which can be located via this module finder.
        Specified by:
        iterateModules in interface IterableModuleFinder
        Parameters:
        baseName - the identifier to start with, or null to iterate all modules; ignored if this module loader does not have a concept of nested modules
        recursive - true to find recursively nested modules, false to only find immediately nested modules; ignored if this module finder does not have a concept of nested modules
        Returns:
        an iterator for the modules in this module finder
      • close

        public void close()
        Close this module loader and release all backing files. Note that subsequent load attempts will fail with an error after this method is called.
        Specified by:
        close in interface AutoCloseable