Class Jre21Compat

    • Constructor Detail

      • Jre21Compat

        public Jre21Compat()
    • Method Detail

      • createVirtualThreadBuilder

        public java.lang.Object createVirtualThreadBuilder​(java.lang.String name)
        Description copied from class: JreCompat
        Create a thread builder for virtual threads using the given name to name the threads.
        Overrides:
        createVirtualThreadBuilder in class JreCompat
        Parameters:
        name - The base name for the threads
        Returns:
        The thread buidler for virtual threads
      • threadBuilderStart

        public void threadBuilderStart​(java.lang.Object threadBuilder,
                                       java.lang.Runnable command)
        Description copied from class: JreCompat
        Create a thread with the given thread builder and use it to execute the given runnable.
        Overrides:
        threadBuilderStart in class JreCompat
        Parameters:
        threadBuilder - The thread builder to use to create a thread
        command - The command to run
      • callAs

        public <T> T callAs​(javax.security.auth.Subject subject,
                            java.util.concurrent.Callable<T> action)
                     throws java.util.concurrent.CompletionException
        Overrides:
        callAs in class JreCompat
        Throws:
        java.util.concurrent.CompletionException
      • disableCanonCaches

        public boolean disableCanonCaches()
        Description copied from class: JreCompat
        Disable the global canonical file cache.
        Overrides:
        disableCanonCaches in class JreCompat
        Returns:
        true if the global canonical file cache was already disabled prior to this call or was disabled as a result of this call, otherwise false
      • getUnixDomainSocketAddress

        public java.net.SocketAddress getUnixDomainSocketAddress​(java.lang.String path)
        Description copied from class: JreCompat
        Return Unix domain socket address for given path.
        Overrides:
        getUnixDomainSocketAddress in class JreCompat
        Parameters:
        path - The path
        Returns:
        the socket address
      • openUnixDomainServerSocketChannel

        public java.nio.channels.ServerSocketChannel openUnixDomainServerSocketChannel()
        Description copied from class: JreCompat
        Create server socket channel using the Unix domain socket ProtocolFamily.
        Overrides:
        openUnixDomainServerSocketChannel in class JreCompat
        Returns:
        the server socket channel
      • openUnixDomainSocketChannel

        public java.nio.channels.SocketChannel openUnixDomainSocketChannel()
        Description copied from class: JreCompat
        Create socket channel using the Unix domain socket ProtocolFamily.
        Overrides:
        openUnixDomainSocketChannel in class JreCompat
        Returns:
        the socket channel
      • isInstanceOfInaccessibleObjectException

        public boolean isInstanceOfInaccessibleObjectException​(java.lang.Throwable t)
        Description copied from class: JreCompat
        Test if the provided exception is an instance of java.lang.reflect.InaccessibleObjectException.
        Overrides:
        isInstanceOfInaccessibleObjectException in class JreCompat
        Parameters:
        t - The exception to test
        Returns:
        true if the exception is an instance of InaccessibleObjectException, otherwise false
      • disableCachingForJarUrlConnections

        public void disableCachingForJarUrlConnections()
                                                throws java.io.IOException
        Description copied from class: JreCompat
        Disables caching for JAR URL connections. For Java 8 and earlier, this also disables caching for ALL URL connections.
        Overrides:
        disableCachingForJarUrlConnections in class JreCompat
        Throws:
        java.io.IOException - If a dummy JAR URLConnection can not be created
      • addBootModulePath

        public void addBootModulePath​(java.util.Deque<java.net.URL> classPathUrlsToProcess)
        Description copied from class: JreCompat
        Obtains the URLs for all the JARs on the module path when the JVM starts and adds them to the provided Deque.
        Overrides:
        addBootModulePath in class JreCompat
        Parameters:
        classPathUrlsToProcess - The Deque to which the modules should be added
      • jarFileNewInstance

        public java.util.jar.JarFile jarFileNewInstance​(java.io.File f)
                                                 throws java.io.IOException
        Description copied from class: JreCompat
        Creates a new JarFile instance. When running on Java 9 and later, the JarFile will be multi-release JAR aware.
        Overrides:
        jarFileNewInstance in class JreCompat
        Parameters:
        f - The JAR file to open
        Returns:
        A JarFile instance based on the provided file
        Throws:
        java.io.IOException - If an I/O error occurs creating the JarFile instance
      • jarFileIsMultiRelease

        public boolean jarFileIsMultiRelease​(java.util.jar.JarFile jarFile)
        Description copied from class: JreCompat
        Is this JarFile a multi-release JAR file.
        Overrides:
        jarFileIsMultiRelease in class JreCompat
        Parameters:
        jarFile - The JarFile to test
        Returns:
        true If it is a multi-release JAR file and is configured to behave as such.
      • canAccess

        public boolean canAccess​(java.lang.Object base,
                                 java.lang.reflect.AccessibleObject accessibleObject)
        Description copied from class: JreCompat
        Is the accessibleObject accessible (as a result of appropriate module exports) on the provided instance?
        Overrides:
        canAccess in class JreCompat
        Parameters:
        base - The specific instance to be tested.
        accessibleObject - The method/field/constructor to be tested.
        Returns:
        {code true} if the AccessibleObject can be accessed otherwise {code false}
      • isExported

        public boolean isExported​(java.lang.Class<?> type)
        Description copied from class: JreCompat
        Is the given class in an exported package?
        Overrides:
        isExported in class JreCompat
        Parameters:
        type - The class to test
        Returns:
        Always true for Java 8. true if the enclosing package is exported for Java 9+
      • getModuleName

        public java.lang.String getModuleName​(java.lang.Class<?> type)
        Description copied from class: JreCompat
        What is the module of the given class?
        Overrides:
        getModuleName in class JreCompat
        Parameters:
        type - The class to test
        Returns:
        Always true for Java 8. true if the enclosing package is exported for Java 9+