## Uses of Class
java.lang.ModuleLayer

- Packages that use ModuleLayer
  Package | Description
  --- | ---
  java.lang | Provides classes that are fundamental to the design of the Java programming language.
  java.util | Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.

- - ### Uses of ModuleLayer in java.lang

    Methods in java.lang that return ModuleLayer
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ModuleLayer` | ModuleLayer.`boot​()` | Returns the boot layer.
    `ModuleLayer` | ModuleLayer.`defineModules​(Configuration cf, Function<String,ClassLoader> clf)` | Creates a new module layer, with this layer as its parent, by defining the modules in the given `Configuration` to the Java virtual machine.
    `ModuleLayer` | ModuleLayer.`defineModulesWithManyLoaders​(Configuration cf, ClassLoader parentLoader)` | Creates a new module layer, with this layer as its parent, by defining the modules in the given `Configuration` to the Java virtual machine.
    `ModuleLayer` | ModuleLayer.`defineModulesWithOneLoader​(Configuration cf, ClassLoader parentLoader)` | Creates a new module layer, with this layer as its parent, by defining the modules in the given `Configuration` to the Java virtual machine.
    `static ModuleLayer` | ModuleLayer.`empty​()` | Returns the empty layer.
    `ModuleLayer` | Module.`getLayer​()` | Returns the module layer that contains this module or `null` if this module is not in a module layer.
    `ModuleLayer` | ModuleLayer.Controller.`layer​()` | Returns the layer that this object controls.

    Methods in java.lang that return types with arguments of type ModuleLayer
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<ModuleLayer>` | ModuleLayer.`parents​()` | Returns the list of this layer's parents unless this is the empty layer, which has no parents and so an empty list is returned.

    Method parameters in java.lang with type arguments of type ModuleLayer
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ModuleLayer.Controller` | ModuleLayer.`defineModules​(Configuration cf, List<ModuleLayer> parentLayers, Function<String,ClassLoader> clf)` | Creates a new module layer by defining the modules in the given `Configuration` to the Java virtual machine.
    `static ModuleLayer.Controller` | ModuleLayer.`defineModulesWithManyLoaders​(Configuration cf, List<ModuleLayer> parentLayers, ClassLoader parentLoader)` | Creates a new module layer by defining the modules in the given `Configuration` to the Java virtual machine.
    `static ModuleLayer.Controller` | ModuleLayer.`defineModulesWithOneLoader​(Configuration cf, List<ModuleLayer> parentLayers, ClassLoader parentLoader)` | Creates a new module layer by defining the modules in the given `Configuration` to the Java virtual machine.

  - ### Uses of ModuleLayer in java.util

    Methods in java.util with parameters of type ModuleLayer
    Modifier and Type | Method | Description
    --- | --- | ---
    `static <S> ServiceLoader<S>` | ServiceLoader.`load​(ModuleLayer layer, Class<S> service)` | Creates a new service loader for the given service type to load service providers from modules in the given module layer and its ancestors.