Class SelectorProvider

java.lang.Object
java.nio.channels.spi.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 Details

    • SelectorProvider

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

    • 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.
    • openSelector

      public abstract AbstractSelector openSelector() throws IOException
      Creates a new selector.
      Returns:
      the new selector.
      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.