Class LocalModuleFinder

  • All Implemented Interfaces:
    ModuleFinder

    public final class LocalModuleFinder
    extends Object
    implements ModuleFinder
    A module finder which locates module specifications which are stored in a local module repository on the filesystem, which uses module.xml descriptors.
    Author:
    David M. Lloyd
    • 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​(ModuleIdentifier identifier,
                                                    ModuleLoader delegateLoader,
                                                    File... roots)
                                             throws IOException,
                                                    ModuleLoadException
        Parse a module.xml file and return the corresponding module specification.
        Parameters:
        identifier - the identifier 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)