# 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 Java Virtual Machine (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 the given package to at least the caller module, then update this module to also 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.
`final 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 an unmodifiable 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 the given package to at least the caller module, then update this module to also 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.
`ModuleLayer.Controller`
ModuleLayer.Controller.`enableNativeAccess(Module target)`
Restricted.
Enables native access for a module in the layer if the caller's module has native access.
`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.