Class JavaModule.Dispatcher.Enabled

    • Constructor Detail

      • Enabled

        protected Enabled​(Method getModule,
                          Method getClassLoader,
                          Method isNamed,
                          Method getName,
                          Method getResourceAsStream,
                          Method isExported,
                          Method isOpened,
                          Method canRead)
        Creates an enabled dispatcher.
        Parameters:
        getModule - The java.lang.Class#getModule() method.
        getClassLoader - The java.lang.Module#getClassLoader() method.
        isNamed - The java.lang.Module#isNamed() method.
        getName - The java.lang.Module#getName() method.
        getResourceAsStream - The java.lang.Module#getResourceAsStream(String) method.
        isExported - The java.lang.Module#isExported(String,Module) method.
        isOpened - The java.lang.Module#isOpened(String,Module) method.
        canRead - The java.lang.Module#canRead(Module) method.
    • Method Detail

      • isAlive

        public boolean isAlive()
        Checks if this dispatcher is alive, i.e. supports modules.
        Specified by:
        isAlive in interface JavaModule.Dispatcher
        Returns:
        true if modules are supported on the current VM.
      • moduleOf

        public JavaModule moduleOf​(Class<?> type)
        Extracts the Java Module for the provided class or returns null if the current VM does not support modules.
        Specified by:
        moduleOf in interface JavaModule.Dispatcher
        Parameters:
        type - The type for which to extract the module.
        Returns:
        The class's Module or null if the current VM does not support modules.
      • getResourceAsStream

        public InputStream getResourceAsStream​(Object module,
                                               String name)
        Returns a resource stream for this module for a resource of the given name or null if such a resource does not exist.
        Specified by:
        getResourceAsStream in interface JavaModule.Dispatcher
        Parameters:
        module - The java.lang.Module instance to apply this method upon.
        name - The name of the resource.
        Returns:
        An input stream for the resource or null if it does not exist.
      • isNamed

        public boolean isNamed​(Object module)
        Returns true if the supplied module is named.
        Specified by:
        isNamed in interface JavaModule.Dispatcher
        Parameters:
        module - The java.lang.Module to check for the existence of a name.
        Returns:
        true if the supplied module is named.
      • getName

        public String getName​(Object module)
        Returns the module's name.
        Specified by:
        getName in interface JavaModule.Dispatcher
        Parameters:
        module - The java.lang.Module to check for its name.
        Returns:
        The module's (implicit or explicit) name.
      • isExported

        public boolean isExported​(Object source,
                                  Object target,
                                  String aPackage)
        Returns true if the source module exports the supplied package to the target module.
        Specified by:
        isExported in interface JavaModule.Dispatcher
        Parameters:
        source - The source module.
        target - The target module.
        aPackage - The name of the package to check.
        Returns:
        true if the source module exports the supplied package to the target module.
      • isOpened

        public boolean isOpened​(Object source,
                                Object target,
                                String aPackage)
        Returns true if the source module opens the supplied package to the target module.
        Specified by:
        isOpened in interface JavaModule.Dispatcher
        Parameters:
        source - The source module.
        target - The target module.
        aPackage - The name of the package to check.
        Returns:
        true if the source module opens the supplied package to the target module.
      • canRead

        public boolean canRead​(Object source,
                               Object target)
        Checks if the source module can read the target module.
        Specified by:
        canRead in interface JavaModule.Dispatcher
        Parameters:
        source - The source module.
        target - The target module.
        Returns:
        true if the source module can read the target module.