Module java.base
Package java.lang

Class ModuleLayer.Controller

  • Enclosing class:
    ModuleLayer

    public static final class ModuleLayer.Controller
    extends Object
    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 Controller objects, they should never be shared with untrusted code.
    Since:
    9
    • Method Detail

      • layer

        public ModuleLayer layer()
        Returns the layer that this object controls.
        Returns:
        the module layer
      • addReads

        public ModuleLayer.Controller addReads​(Module source,
                                               Module target)
        Updates module source in the layer to read module target. This method is a no-op if source already reads target.
        Implementation Note:
        Read edges added by this method are weak and do not prevent target from being GC'ed when source is strongly reachable.
        Parameters:
        source - The source module
        target - The target module to read
        Returns:
        This controller
        Throws:
        IllegalArgumentException - If source is not in the module layer
        See Also:
        Module.addReads(java.lang.Module)