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

インタフェースDirObjectFactory

すべてのスーパー・インタフェース:
ObjectFactory

public interface DirObjectFactory
extends ObjectFactory
このインタフェースは、指定されたオブジェクトとそのオブジェクトに関する属性を使用してオブジェクトを生成するファクトリを表します。

JNDIフレームワークでは、オブジェクト・ファクトリを使用してオブジェクト実装を動的にロードできます。 詳細については、ObjectFactoryを参照してください。

DirObjectFactoryObjectFactoryを拡張して、getObjectInstance()メソッドにAttributesインスタンスを指定できるようにします。 DirObjectFactory実装はDirContextサービス・プロバイダが使用するものです。 サービス・プロバイダは、ディレクトリからオブジェクトを読み込むだけでなく、オブジェクト・ファクトリがオブジェクトを処理する必要があるかどうかをそのファクトリが調べるのに役立つ属性をあらかじめ持っておくことができます。 たとえばLDAPスタイルのサービス・プロバイダは、オブジェクトの「objectclass」を読み込んでおくことができます。 CORBAオブジェクト・ファクトリは「objectclass=corbaObject」というLDAPエントリだけを対象としているとします。 LDAPサービス・プロバイダによって指定された属性を使って、CORBAオブジェクト・ファクトリは関係のないオブジェクトをすばやく排除でき、CORBA以外のオブジェクト・ファクトリはCORBA関連のLDAPエントリをすばやく排除できます。

導入されたバージョン:
1.3
関連項目:
NamingManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>), DirectoryManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>, javax.naming.directory.Attributes), ObjectFactory
  • メソッドのサマリー

    修飾子と型 メソッド 説明
    Object getObjectInstance​(Object obj, Name name, Context nameCtx, Hashtable<?,​?> environment, Attributes attrs)
    位置情報または参照情報、および指定された属性を使って、オブジェクトを生成します。

    インタフェース javax.naming.spi.ObjectFactoryで宣言されたメソッド

    getObjectInstance
  • メソッドの詳細

    • getObjectInstance

      Object getObjectInstance​(Object obj, Name name, Context nameCtx, Hashtable<?,​?> environment, Attributes attrs) throws Exception
      位置情報または参照情報、および指定された属性を使って、オブジェクトを生成します。

      このオブジェクトの特殊要件は、environmentを使用して指定されます。 こうした環境プロパティの一例としては、ユーザー識別情報があります。

      DirectoryManager.getObjectInstance()はオブジェクト・ファクトリに連続的にロードします。 DirObjectFactoryを検出するとDirObjectFactory.getObjectInstance()を呼び出します。そうでない場合はObjectFactory.getObjectInstance()を呼び出します。 これは、ファクトリがnull以外の答えを生成するまで行われます。

      オブジェクト・ファクトリが例外をスローすると、その例外はDirectoryManager.getObjectInstance()の呼出し側に渡されます。 null以外の答えを生成する可能性のあるほかのファクトリの検索は停止します。 オブジェクト・ファクトリは、それが目的の唯一のファクトリであり、ほかのオブジェクト・ファクトリを検索する必要がないことが確実な場合に限り、例外をスローするようにします。 このファクトリが指定された引数でオブジェクトを生成できない場合は、nullを返します。

      DirObjectFactoryObjectFactoryを拡張するので、ObjectFactoryは結果的に2つのgetObjectInstance()メソッドを持ちます。この2つのメソッドは属性引数が異なります。 DirObjectFactoryを実装するファクトリを指定すると、DirectoryManager.getObjectInstance()は属性引数を受け入れるメソッドのみを使用し、NamingManager.getObjectInstance()は属性引数を受け入れないメソッドのみを使用します。

      DirObjectFactoryに同じように適用されるURLコンテキスト・ファクトリおよびオブジェクト・ファクトリのほかのプロパティの説明については、ObjectFactoryを参照してください。

      nameattrs、およびenvironmentの各パラメータは、呼出し側が所有します。 実装はこれらのオブジェクトを変更せず、そのオブジェクトに対する参照も保持しませんが、複製またはコピーに対する参照を保持することがあります。

      パラメータ:
      obj - オブジェクトの作成で使用できる位置または参照情報を含むnullの可能性があるオブジェクト。
      name - nameCtxを基準にしたこのオブジェクトの名前、または名前が指定されていない場合はnull。
      nameCtx - nameパラメータが基準にして指定されているコンテキスト、またはnameがデフォルトの初期コンテキストを基準にしている場合はnull。
      environment - オブジェクトの作成で使用されるnullの可能性がある環境。
      attrs - nullの可能性がある、objの属性をいくらか含む属性。attrsは必ずしもobjの属性をすべて持つ必要はない。 オブジェクト・ファクトリがさらに属性を必要とする場合、ファクトリはobjか、あるいはnamenameCtxを使用して属性を取得する必要がある。 ファクトリはattrsを変更できない。
      戻り値:
      生成されたオブジェクト。オブジェクトを生成できない場合はnull。
      例外:
      Exception - オブジェクトの生成中にこのオブジェクト・ファクトリが例外を検出し、ほかのオブジェクト・ファクトリが試行されない場合。
      関連項目:
      DirectoryManager.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>, javax.naming.directory.Attributes), NamingManager.getURLContext(java.lang.String, java.util.Hashtable<?, ?>)