クラスInetAddressResolverProvider

java.lang.Object
java.net.spi.InetAddressResolverProvider

public abstract class InetAddressResolverProvider extends Object
「InetAddressリゾルバ」のサービス・プロバイダ・クラス。

リゾルバ・プロバイダは、「InetAddressリゾルバ」のカスタム実装のファクトリです。 リゾルバは、(解決)ホスト名およびIPアドレスを参照するための操作を定義します。

リゾルバ・プロバイダは、ゼロ引数コンストラクタを持つこのクラスの具体的なサブクラスで、次に示す抽象メソッドを実装します。

Java仮想マシンの特定の起動では、InetAddressで使用される単一のシステム全体のリゾルバ・インスタンスが保持されます。 これは、VMが完全に初期化された後に設定され、InetAddressクラスでメソッドを呼び出すと最初のルックアップ操作がトリガーされます。

リゾルバ・プロバイダは、次のようにInetAddressによって配置およびロードされ、システム全体のリゾルバを作成します:

  1. ServiceLoaderメカニズムは、システム・クラス・ローダーを使用してInetAddressResolverProviderを特定するために使用されます。 プロバイダが配置される順序は、「実装固有」です。 検出された最初のプロバイダは、get(InetAddressResolverProvider.Configuration)メソッドを起動してInetAddressResolverをインスタンス化するために使用されます。 返されるInetAddressResolverは、システム全体のリゾルバとして設定されます。
  2. 前のステップでリゾルバ・プロバイダの検索に失敗した場合、「組込みリゾルバ」はシステム全体のリゾルバとして設定されます。

ステップ1で検出されたプロバイダからカスタム・リゾルバをインスタンス化すると、エラーまたは例外がスローされた場合、システム全体のリゾルバは設定されず、エラーまたは例外はルックアップ操作をトリガーしたメソッドのコール元に伝播されます。 それ以外の場合は、「システム全体のリゾルバ」を使用してルックアップ操作が実行されます。

実装上のノート:
InetAddressは、VMが完全にブートされる前に発生する可能性があるルックアップ操作に対して「組み込みリゾルバ」を使用します。
導入されたバージョン:
18
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static interface 
    Configurationオブジェクトは、システム全体のリゾルバを設定するときにget(Configuration)メソッドに提供されます。
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    InetAddressResolverProviderの新しいインスタンスを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    このプロバイダが提供するInetAddressResolverを初期化して返します。
    abstract String
    このプロバイダの名前を返します。名前がない場合はnullを返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • InetAddressResolverProvider

      protected InetAddressResolverProvider()
      InetAddressResolverProviderの新しいインスタンスを作成します。
      実装上のノート:
      サービス・プロバイダのインスタンス化中にデッドロックまたはクラスのロード・サイクルのリスクを回避するために、InetAddressResolverProviderサービス実装の初期化を可能なかぎり単純にすることをお薦めします。
  • メソッドの詳細

    • get

      このプロバイダが提供するInetAddressResolverを初期化して返します。 このメソッドは、システム全体のリゾルバ実装を「インストール中」するときにInetAddressによってコールされます。

      このメソッドによってスローされたエラーまたは例外は、InetAddressResolverインスタンス化の失敗とみなされ、ルックアップ操作をトリガーしたメソッドの呼出し元に伝播されます。

      パラメータ:
      configuration - プラットフォームの組込みアドレス解決構成を含むInetAddressResolverProvider.Configurationインスタンス。
      戻り値:
      このプロバイダが提供するリゾルバ
    • name

      public abstract String name()
      このプロバイダの名前を返します。名前がない場合はnullを返します。
      戻り値:
      このプロバイダの名前、名前のない場合はnull