Class JreCompat

  • Direct Known Subclasses:
    Jre19Compat

    public class JreCompat
    extends Object
    This is the base implementation class for JRE compatibility and provides an implementation based on Java 11. Sub-classes may extend this class and provide alternative implementations for later JRE versions
    • Constructor Detail

      • JreCompat

        public JreCompat()
    • Method Detail

      • getInstance

        public static JreCompat getInstance()
      • isGraalAvailable

        public static boolean isGraalAvailable()
      • isJre16Available

        public static boolean isJre16Available()
      • isJre19Available

        public static boolean isJre19Available()
      • isJre21Available

        public static boolean isJre21Available()
      • isJre22Available

        public static boolean isJre22Available()
      • getUnixDomainSocketAddress

        public SocketAddress getUnixDomainSocketAddress​(String path)
        Return Unix domain socket address for given path.
        Parameters:
        path - The path
        Returns:
        the socket address
      • openUnixDomainServerSocketChannel

        public ServerSocketChannel openUnixDomainServerSocketChannel()
        Create server socket channel using the Unix domain socket ProtocolFamily.
        Returns:
        the server socket channel
      • openUnixDomainSocketChannel

        public SocketChannel openUnixDomainSocketChannel()
        Create socket channel using the Unix domain socket ProtocolFamily.
        Returns:
        the socket channel
      • createVirtualThreadBuilder

        public Object createVirtualThreadBuilder​(String name)
        Create a thread builder for virtual threads using the given name to name the threads.
        Parameters:
        name - The base name for the threads
        Returns:
        The thread buidler for virtual threads
      • threadBuilderStart

        public void threadBuilderStart​(Object threadBuilder,
                                       Runnable command)
        Create a thread with the given thread builder and use it to execute the given runnable.
        Parameters:
        threadBuilder - The thread builder to use to create a thread
        command - The command to run