JavaTM 2
Platform
Std. Ed. v1.4.0

java.nio.channels.spi
クラス SelectorProvider

java.lang.Object
  |
  +--java.nio.channels.spi.SelectorProvider

public abstract class SelectorProvider
extends Object

セレクタおよび選択可能チャネルのサービスプロバイダクラスです。

セレクタプロバイダは、ゼロ引数コンストラクタを持ち、以下の抽象メソッドを実装する、このクラスの具象サブクラスです。指定された Java 仮想マシン呼び出しは、provider メソッドによって返される、システム全体で単一のデフォルトプロバイダインスタンスを保持します。このメソッドの最初の呼び出しは、以下のデフォルトプロバイダを検出します。

システム全体のデフォルトプロバイダは、DatagramChannel クラス、Pipe クラス、Selector クラス、ServerSocketChannel クラス、SocketChannel クラスの静的な open メソッドで使用されます。プログラムは、デフォルトプロバイダのインスタンスを作成し、このクラスに定義されている open メソッドを直接呼び出すことによって、デフォルトプロバイダ以外のプロバイダを利用することもできます。

このクラス内のすべてのメソッドは、複数の並行スレッドで安全に使用できます。

導入されたバージョン:
1.4

コンストラクタの概要
protected SelectorProvider()
          このクラスの新しいインスタンスを初期化します。
 
メソッドの概要
abstract  DatagramChannel openDatagramChannel()
          データグラムチャネルをオープンします。
abstract  Pipe openPipe()
          パイプをオープンします。
abstract  AbstractSelector openSelector()
          セレクタをオープンします。
abstract  ServerSocketChannel openServerSocketChannel()
          サーバソケットチャネルをオープンします。
abstract  SocketChannel openSocketChannel()
          ソケットチャネルをオープンします。
static SelectorProvider provider()
          この Java 仮想マシン呼び出しのためのシステム全体のデフォルトセレクタプロバイダを返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

SelectorProvider

protected SelectorProvider()
このクラスの新しいインスタンスを初期化します。

例外:
SecurityException - セキュリティマネージャがインストールされていて、RuntimePermission("selectorProvider") を拒否した場合
メソッドの詳細

provider

public static SelectorProvider provider()
この Java 仮想マシン呼び出しのためのシステム全体のデフォルトセレクタプロバイダを返します。

このメソッドを最初に呼び出したとき、次の手順でデフォルトプロバイダオブジェクトが検出されます。

  1. システムプロパティ java.nio.channels.spi.SelectorProvider が定義されていれば、これが具象プロバイダクラスの完全修飾名と見なされます。クラスがロードされ、そのインスタンスが作成されます。この処理に失敗した場合、未指定のエラーがスローされます。

  2. システムクラスローダの認識する jar ファイルにプロバイダクラスがインストールされていて、この jar ファイルにリソースディレクトリ META-INF/services 内のプロバイダ構成ファイル java.nio.channels.spi.SelectorProvider が含まれている場合、ファイルに指定されている最初のクラス名が使用されます。クラスがロードされ、インスタンスが作成されます。この処理に失敗した場合、未指定のエラーがスローされます。

  3. 最後に、上記の手段で指定されたプロバイダが存在しない場合は、システムのデフォルトプロバイダクラスのインスタンスが作成され、結果が返されます。

次回以降の呼び出しでも、1 回目の呼び出し時に返されたプロバイダが返されます。

戻り値:
システム全体のデフォルトセレクタプロバイダ

openDatagramChannel

public abstract DatagramChannel openDatagramChannel()
                                             throws IOException
データグラムチャネルをオープンします。

戻り値:
新しいチャネル
IOException

openPipe

public abstract Pipe openPipe()
                       throws IOException
パイプをオープンします。

戻り値:
新しいパイプ
IOException

openSelector

public abstract AbstractSelector openSelector()
                                       throws IOException
セレクタをオープンします。

戻り値:
新しいセレクタ
IOException

openServerSocketChannel

public abstract ServerSocketChannel openServerSocketChannel()
                                                     throws IOException
サーバソケットチャネルをオープンします。

戻り値:
新しいチャネル
IOException

openSocketChannel

public abstract SocketChannel openSocketChannel()
                                         throws IOException
ソケットチャネルをオープンします。

戻り値:
新しいチャネル
IOException

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.