Class SelectorProvider

  • Direct Known Subclasses:
    SelectorProviderImpl

    public abstract class SelectorProvider
    extends Object
    SelectorProvider is an abstract base class that declares methods for providing instances of DatagramChannel, Pipe, Selector , ServerSocketChannel, and SocketChannel. All the methods of this class are thread-safe.

    A provider instance can be retrieved through a system property or the configuration file in a jar file; if no provider is available that way then the system default provider is returned.

    • Constructor Detail

      • SelectorProvider

        protected SelectorProvider()
        Constructs a new SelectorProvider.
    • Method Detail

      • provider

        public static SelectorProvider provider()
        Gets a provider instance by executing the following steps when called for the first time:
        • if the system property "java.nio.channels.spi.SelectorProvider" is set, the value of this property is the class name of the provider returned;
        • if there is a provider-configuration file named "java.nio.channels.spi.SelectorProvider" in META-INF/services of a jar file valid in the system class loader, the first class name is the provider's class name;
        • otherwise, a system default provider will be returned.
        Returns:
        the provider.
      • openDatagramChannel

        public abstract DatagramChannel openDatagramChannel()
                                                     throws IOException
        Creates a new open DatagramChannel.
        Returns:
        the new channel.
        Throws:
        IOException - if an I/O error occurs.
      • openPipe

        public abstract Pipe openPipe()
                               throws IOException
        Creates a new Pipe.
        Returns:
        the new pipe.
        Throws:
        IOException - if an I/O error occurs.
      • openServerSocketChannel

        public abstract ServerSocketChannel openServerSocketChannel()
                                                             throws IOException
        Creates a new open ServerSocketChannel.
        Returns:
        the new channel.
        Throws:
        IOException - if an I/O error occurs.
      • openSocketChannel

        public abstract SocketChannel openSocketChannel()
                                                 throws IOException
        Create a new open SocketChannel.
        Returns:
        the new channel.
        Throws:
        IOException - if an I/O error occurs.
      • inheritedChannel

        public Channel inheritedChannel()
                                 throws IOException
        Returns the channel inherited from the process that created this VM. On Android, this method always returns null because stdin and stdout are never connected to a socket.
        Returns:
        the channel.
        Throws:
        IOException - if an I/O error occurs.