# 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 an unmodifiable list of this layer's parents, in search order.
  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.