Class LayerModuleFinder

  • All Implemented Interfaces:
    java.lang.module.ModuleFinder

    public class LayerModuleFinder
    extends Object
    implements java.lang.module.ModuleFinder
    ModuleFinder implementation used by the module installed by LayerFactory to locate class definitions when an attempt is made to load a class into the module. The finder uses a ModuelReader which passes the request back to the installer of the module, allowing it either to generate or load the class definition as it sees fit.
    • Constructor Detail

      • LayerModuleFinder

        public LayerModuleFinder​(String moduleName,
                                 String[] exportsNames,
                                 String[] requiresNames,
                                 java.util.function.Function<String,​byte[]> classMapper)
        construct a finder for a single module populated with classes by the supplier classmapper
        Parameters:
        moduleName - the name of the one module to be installed in the layer
        exportsNames - an array of names of packages to be exported by the module
        requiresNames - an array of names of modules to be imported by the module
        classMapper - a function provided by the caller to populate the module with classes which accepts a class name and returns the corresponding class file format byte array. The name will be presented in the format "x/y/z/MyClass.class".
    • Method Detail

      • find

        public Optional<java.lang.module.ModuleReference> find​(String name)
        Specified by:
        find in interface java.lang.module.ModuleFinder
      • findAll

        public Set<java.lang.module.ModuleReference> findAll()
        Specified by:
        findAll in interface java.lang.module.ModuleFinder