java.lang.Object
java.lang.ModuleLayer.Controller
- Enclosing class:
- ModuleLayer
Controls a module layer. The static methods defined by
ModuleLayer
to create module layers return a Controller that can be used to
control modules in the layer.
Unless otherwise specified, passing a null argument to a
method in this class causes a NullPointerException to be thrown.
- API Note:
- Care should be taken with
Controllerobjects, they should never be shared with untrusted code. - Since:
- 9
-
Method Summary
Modifier and TypeMethodDescriptionaddExports(Module source, String pn, Module target) Updates modulesourcein the layer to export a package to moduletarget.Updates modulesourcein the layer to open a package to moduletarget.Updates modulesourcein the layer to read moduletarget.layer()Returns the layer that this object controls.
-
Method Details
-
layer
Returns the layer that this object controls.- Returns:
- the module layer
-
addReads
Updates modulesourcein the layer to read moduletarget. This method is a no-op ifsourcealready readstarget.- Implementation Note:
- Read edges added by this method are weak
and do not prevent
targetfrom being GC'ed whensourceis strongly reachable. - Parameters:
source- The source moduletarget- The target module to read- Returns:
- This controller
- Throws:
IllegalArgumentException- Ifsourceis not in the module layer- See Also:
-
addExports
Updates modulesourcein the layer to export a package to moduletarget. This method is a no-op ifsourcealready exports the package to at leasttarget.- Parameters:
source- The source modulepn- The package nametarget- The target module- Returns:
- This controller
- Throws:
IllegalArgumentException- Ifsourceis not in the module layer or the package is not in the source module- See Also:
-
addOpens
Updates modulesourcein the layer to open a package to moduletarget. This method is a no-op ifsourcealready opens the package to at leasttarget.- Parameters:
source- The source modulepn- The package nametarget- The target module- Returns:
- This controller
- Throws:
IllegalArgumentException- Ifsourceis not in the module layer or the package is not in the source module- See Also:
-