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

インタフェースDirObjectFactory

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

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

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

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

導入されたバージョン:
1.3
関連項目:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    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を拡張するため、実質的に2つのgetObjectInstance()メソッドがあり、一方はattributes引数によって他方とは異なります。 DirObjectFactoryを実装するファクトリの場合、DirectoryManager.getObjectInstance()はattributes引数を受け入れるメソッドのみを使用し、NamingManager.getObjectInstance()はattributes引数を受け入れないメソッドのみを使用します。

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

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

      パラメータ:
      obj - オブジェクトの作成で使用できる位置または参照情報を含むnullの可能性があるオブジェクト。
      name - nameCtxを基準にしたこのオブジェクトの名前、または名前が指定されていない場合はnull。
      nameCtx - nameパラメータが基準にして指定されているコンテキスト、またはnameがデフォルトの初期コンテキストを基準にしている場合はnull。
      environment - オブジェクトの作成で使用されるnullの可能性がある環境。
      attrs - objの属性の一部を含むNULL属性である可能性があります。attrsには、必ずしもすべてのobj属性が含まれているとはかぎりません。 オブジェクト・ファクトリでより多くの属性が必要な場合は、objまたはnamenameCtxのいずれかを使用して取得する必要があります。 ファクトリはattrsを変更できない。
      戻り値:
      生成されたオブジェクト。オブジェクトを生成できない場合はnull。
      例外:
      Exception - オブジェクトの生成中にこのオブジェクト・ファクトリが例外を検出し、ほかのオブジェクト・ファクトリが試行されない場合。
      関連項目: