|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface DirObjectFactory
このインタフェースは、そのオブジェクトに関するオブジェクトと属性を指定されたオブジェクトを生成するファクトリを表します。
JNDI フレームワークでは、「オブジェクトファクトリ」を使ってオブジェクト実装を動的にロードできます。詳細は ObjectFactory を参照してください。
DirObjectFactory は ObjectFactory を拡張して、getObjectInstance() メソッドに Attributes インスタンスを指定できるようにします。DirObjectFactory 実装は DirContext サービスプロバイダが使用するものです。サービスプロバイダは、ディレクトリからオブジェクトを読み込むだけでなく、オブジェクトファクトリがオブジェクトを処理する必要があるかどうかをそのファクトリが調べるのに役立つ属性をあらかじめ持っておくことができます。たとえば LDAP スタイルのサービスプロバイダは、オブジェクトの「objectclass」を読み込んでおくことができます。CORBA オブジェクトファクトリは「objectclass=corbaObject」という LDAP エントリだけを対象としているとします。LDAP サービスプロバイダによって指定された属性を使って、CORBA オブジェクトファクトリは関係のないオブジェクトをすばやく排除でき、CORBA 以外のオブジェクトファクトリは CORBA 関連の LDAP エントリをすばやく排除できます。
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 |
メソッドの詳細 |
---|
Object getObjectInstance(Object obj, Name name, Context nameCtx, Hashtable<?,?> environment, Attributes attrs) throws Exception
このオブジェクトの特殊要件は、environment
を使って指定されます。こうした環境プロパティの一例としては、ユーザ識別情報があります。
DirectoryManager.getObjectInstance() はオブジェクトファクトリに連続的にロードします。DirObjectFactory を検出すると、DirectoryManager.getObjectInstance() は DirObjectFactory.getObjectInstance() を呼び出します。そうでない場合は ObjectFactory.getObjectInstance() を呼び出します。ファクトリが null 以外の答を生成するまで、DirectoryManager.getObjectInstance() はこれを続けます。
オブジェクトファクトリが例外をスローすると、その例外は DirectoryManager.getObjectInstance() の呼び出し側に渡されます。null 以外の答えを生成する可能性のあるほかのファクトリの検索は停止します。オブジェクトファクトリは、それが目的の唯一のファクトリであり、ほかのオブジェクトファクトリを検索する必要がないことが確実な場合に限り、例外をスローするようにします。このファクトリが指定された引数でオブジェクトを生成できない場合は、null を返すようにします。
DirObjectFactory は ObjectFactory を拡張するので、ObjectFactory は結果的に 2 つの getObjectInstance() メソッドを持ちます。この 2 つのメソッドは属性引数が異なります。DirObjectFactory を実装するファクトリを指定すると、DirectoryManager.getObjectInstance() は属性引数を受け入れるメソッドだけを使用し、NamingManager.getObjectInstance() は属性引数を受け入れないメソッドだけを使用します。
DirObjectFactory に同じように適用される URL コンテキストファクトリおよびオブジェクトファクトリのほかのプロパティの説明については、ObjectFactory を参照してください。
name、attrs、および environment の各パラメータは、呼び出し側が所有します。実装はこれらのオブジェクトを変更せず、そのオブジェクトに対する参照も保持しませんが、複製またはコピーに対する参照を保持することがあります。
obj
- オブジェクトの生成に使える位置情報または参照情報を格納する、null の可能性があるオブジェクトname
- nameCtx
に関連するこのオブジェクトの名前、または名前が指定されない場合は nullnameCtx
- name
パラメータの指定に関連するコンテキスト、または name
がデフォルトの初期コンテキストに関連する場合は nullenvironment
- null の可能性がある、オブジェクトの生成に使用される環境attrs
- null の可能性がある、obj の属性をいくらか含む属性。attrs は必ずしも obj の属性をすべて持つ必要はない。オブジェクトファクトリがさらに属性を必要とする場合、ファクトリは obj か、あるいは name と nameCtx を使って属性を取得する必要がある。ファクトリは attrs を変更できない
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, ?>)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。