java.lang.Object
java.net.spi.InetAddressResolverProvider
public abstract class InetAddressResolverProvider extends Object
「InetAddressリゾルバ」のサービス・プロバイダ・クラス。
リゾルバ・プロバイダは、「InetAddressリゾルバ」のカスタム実装のファクトリです。 リゾルバは、(解決)ホスト名およびIPアドレスを参照するための操作を定義します。
リゾルバ・プロバイダは、ゼロ引数コンストラクタを持つこのクラスの具体的なサブクラスで、次に示す抽象メソッドを実装します。
Java仮想マシンの特定の起動では、InetAddressで使用される単一のシステム全体のリゾルバ・インスタンスが保持されます。 これは、VMが完全に初期化された後に設定され、InetAddress
クラスでメソッドを呼び出すと最初のルックアップ操作がトリガーされます。
リゾルバ・プロバイダは、次のようにInetAddress
によって配置およびロードされ、システム全体のリゾルバを作成します:
ServiceLoader
メカニズムは、システム・クラス・ローダーを使用してInetAddressResolverProvider
を特定するために使用されます。 プロバイダが配置される順序は、「実装固有」です。 検出された最初のプロバイダは、get(InetAddressResolverProvider.Configuration)
メソッドを起動してInetAddressResolver
をインスタンス化するために使用されます。 返されるInetAddressResolver
は、システム全体のリゾルバとして設定されます。- 前のステップでリゾルバ・プロバイダの検索に失敗した場合、「組込みリゾルバ」はシステム全体のリゾルバとして設定されます。
ステップ1で検出されたプロバイダからカスタム・リゾルバをインスタンス化すると、エラーまたは例外がスローされた場合、システム全体のリゾルバは設定されず、エラーまたは例外はルックアップ操作をトリガーしたメソッドのコール元に伝播されます。 それ以外の場合は、「システム全体のリゾルバ」を使用してルックアップ操作が実行されます。
- 実装上のノート:
InetAddress
は、VMが完全にブートされる前に発生する可能性があるルックアップ操作に対して「組み込みリゾルバ」を使用します。- 導入されたバージョン:
- 18
-
ネストされたクラスのサマリー
修飾子と型クラス説明static interface
Configuration
オブジェクトは、システム全体のリゾルバを設定するときにget(Configuration)
メソッドに提供されます。 -
コンストラクタのサマリー
-
メソッドのサマリー
修飾子と型メソッド説明abstract InetAddressResolver
get
(InetAddressResolverProvider.Configuration configuration) このプロバイダが提供するInetAddressResolver
を初期化して返します。abstract String
name()
このプロバイダの名前を返します。名前がない場合はnull
を返します。
-
コンストラクタの詳細
-
InetAddressResolverProvider
protected InetAddressResolverProvider()InetAddressResolverProvider
の新しいインスタンスを作成します。- 実装上のノート:
- サービス・プロバイダのインスタンス化中にデッドロックまたはクラスのロード・サイクルのリスクを回避するために、
InetAddressResolverProvider
サービス実装の初期化を可能なかぎり単純にすることをお薦めします。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのcheckPermission
メソッドがRuntimePermission("inetAddressResolverProvider")
を許可しない場合。
-
-
メソッドの詳細
-
get
public abstract InetAddressResolver get(InetAddressResolverProvider.Configuration configuration) このプロバイダが提供するInetAddressResolver
を初期化して返します。 このメソッドは、システム全体のリゾルバ実装を「インストール中」するときにInetAddress
によってコールされます。このメソッドによってスローされたエラーまたは例外は、
InetAddressResolver
インスタンス化の失敗とみなされ、ルックアップ操作をトリガーしたメソッドの呼出し元に伝播されます。- パラメータ:
configuration
- プラットフォームの組込みアドレス解決構成を含むInetAddressResolverProvider.Configuration
インスタンス。- 戻り値:
- このプロバイダが提供するリゾルバ
-
name
-