|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
このインタフェースは、そのオブジェクトに関するオブジェクトと属性を指定されたオブジェクトを生成するファクトリを表します。
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 |
メソッドの詳細 |
public 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 Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.