モジュール java.naming
パッケージ javax.naming.spi

インタフェースStateFactory

既知のすべてのサブインタフェース:
DirStateFactory

public interface StateFactory
このインタフェースは、オブジェクトのバインディングの状態を取得するファクトリを表します。

JNDIフレームワークでは、オブジェクト・ファクトリを使用してオブジェクト実装を動的にロードできます。 たとえば、名前空間でバインドされたプリンタを検索する場合、印刷サービスがプリンタ名をReference sにバインドすると、プリンタReferenceを使用してプリンタ・オブジェクトを作成し、ルックアップの呼び出し元がルックアップ後にプリンタ・オブジェクトを直接操作できるようにすることができます。

ObjectFactoryは、特定のタイプのオブジェクトの作成を担当します。 前述の例では、Printerオブジェクトを作成するためのPrinterObjectFactoryがある場合があります。

逆のプロセスでは、オブジェクトが名前空間にバインドされている場合、JNDIは状態ファクトリを提供します。 ここでもプリンタを例にとって、プリンタ・オブジェクトが更新され、再度バインドされる場合を考えます。

 ctx.rebind("inky", printer);
 
ctxのサービス・プロバイダは、状態ファクトリを使用して、そのネームスペースへのバインドのためにprinterの状態を取得します。 Printer型オブジェクトの状態ファクトリは、ネーミング・システム内の記憶域に対してよりコンパクトなオブジェクトを返す場合があります。

状態ファクトリは、StateFactoryインタフェースを実装する必要があります。 またファクトリ・クラスはpublicであることが必要で、かつパラメータを取れないpublicコンストラクタを持つ必要があります。 ファクトリが名前付きモジュール内にある場合、そのファクトリは、そのモジュールによってjava.namingモジュールにエクスポートされるパッケージ内に存在する必要があります。

状態ファクトリのgetStateToBind()メソッドは、異なるパラメータを使用して複数回起動できます。 実装はスレッド・セーフです。

StateFactoryは、Contextインタフェースのみを実装するサービス・プロバイダでの使用を目的としています。 DirStateFactoryは、DirContextインタフェースを実装するサービス・プロバイダでの使用を目的としています。

導入されたバージョン:
1.3
関連項目: