# Uses of Class
java.lang.Module

Packages that use Module
Package | Description
--- | ---
java.lang | Provides classes that are fundamental to the design of the Java programming language.
java.lang.instrument | Provides services that allow Java programming language agents to instrument programs running on the JVM.
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 Module in java.lang

Methods in java.lang that return Module
Modifier and Type | Method | Description
--- | --- | ---
`Module` | Module.`addExports​(String pn, Module other)` | If the caller's module is this module then update this module to export the given package to the given module.
`Module` | Module.`addOpens​(String pn, Module other)` | If this module has opened a package to at least the caller module then update this module to open the package to the given module.
`Module` | Module.`addReads​(Module other)` | If the caller's module is this module then update this module to read the given module.
`Module` | Module.`addUses​(Class<?> service)` | If the caller's module is this module then update this module to add a service dependence on the given service type.
`Module` | Class.`getModule()` | Returns the module that this class or interface is a member of.
`Module` | ClassLoader.`getUnnamedModule()` | Returns the unnamed `Module` for this class loader.

Methods in java.lang that return types with arguments of type Module
Modifier and Type | Method | Description
--- | --- | ---
`Optional<Module>` | ModuleLayer.`findModule​(String name)` | Returns the module with the given name in this layer, or if not in this layer, the parent layers.
`Set<Module>` | ModuleLayer.`modules()` | Returns the set of the modules in this layer.

Methods in java.lang with parameters of type Module
Modifier and Type | Method | Description
--- | --- | ---
`Module` | Module.`addExports​(String pn, Module other)` | If the caller's module is this module then update this module to export the given package to the given module.
`ModuleLayer.Controller` | ModuleLayer.Controller.`addExports​(Module source, String pn, Module target)` | Updates module `source` in the layer to export a package to module `target`.
`Module` | Module.`addOpens​(String pn, Module other)` | If this module has opened a package to at least the caller module then update this module to open the package to the given module.
`ModuleLayer.Controller` | ModuleLayer.Controller.`addOpens​(Module source, String pn, Module target)` | Updates module `source` in the layer to open a package to module `target`.
`Module` | Module.`addReads​(Module other)` | If the caller's module is this module then update this module to read the given module.
`ModuleLayer.Controller` | ModuleLayer.Controller.`addReads​(Module source, Module target)` | Updates module `source` in the layer to read module `target`.
`boolean` | Module.`canRead​(Module other)` | Indicates if this module reads the given module.
`static Class<?>` | Class.`forName​(Module module, String name)` | Returns the `Class` with the given binary name in the given module.
`System.Logger` | System.LoggerFinder.`getLocalizedLogger​(String name, ResourceBundle bundle, Module module)` | Returns a localizable instance of `Logger` for the given `module`.
`abstract System.Logger` | System.LoggerFinder.`getLogger​(String name, Module module)` | Returns an instance of `Logger` for the given `module`.
`boolean` | Module.`isExported​(String pn, Module other)` | Returns `true` if this module exports the given package to at least the given module.
`boolean` | Module.`isOpen​(String pn, Module other)` | Returns `true` if this module has opened a package to at least the given module.

## Uses of Module in java.lang.instrument

Methods in java.lang.instrument with parameters of type Module
Modifier and Type | Method | Description
--- | --- | ---
`boolean` | Instrumentation.`isModifiableModule​(Module module)` | Tests whether a module can be modified with `redefineModule`.
`void` | Instrumentation.`redefineModule​(Module module, Set<Module> extraReads, Map<String,​Set<Module>> extraExports, Map<String,​Set<Module>> extraOpens, Set<Class<?>> extraUses, Map<Class<?>,​List<Class<?>>> extraProvides)` | Redefine a module to expand the set of modules that it reads, the set of packages that it exports or opens, or the services that it uses or provides.
`default byte[]` | ClassFileTransformer.`transform​(Module module, ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)` | Transforms the given class file and returns a new replacement class file.

Method parameters in java.lang.instrument with type arguments of type Module
Modifier and Type | Method | Description
--- | --- | ---
`void` | Instrumentation.`redefineModule​(Module module, Set<Module> extraReads, Map<String,​Set<Module>> extraExports, Map<String,​Set<Module>> extraOpens, Set<Class<?>> extraUses, Map<Class<?>,​List<Class<?>>> extraProvides)` | Redefine a module to expand the set of modules that it reads, the set of packages that it exports or opens, or the services that it uses or provides.
`void` | Instrumentation.`redefineModule​(Module module, Set<Module> extraReads, Map<String,​Set<Module>> extraExports, Map<String,​Set<Module>> extraOpens, Set<Class<?>> extraUses, Map<Class<?>,​List<Class<?>>> extraProvides)` | Redefine a module to expand the set of modules that it reads, the set of packages that it exports or opens, or the services that it uses or provides.

## Uses of Module in java.util

Methods in java.util with parameters of type Module
Modifier and Type | Method | Description
--- | --- | ---
`static ResourceBundle` | ResourceBundle.`getBundle​(String baseName, Module module)` | Gets a resource bundle using the specified base name and the default locale on behalf of the specified module.
`static ResourceBundle` | ResourceBundle.`getBundle​(String baseName, Locale targetLocale, Module module)` | Gets a resource bundle using the specified base name and locale on behalf of the specified module.