java.lang.Object
javax.naming.spi.NamingManager
javax.naming.spi.DirectoryManager
public class DirectoryManager extends NamingManager
このクラスには、
DirContext実装をサポートするメソッドが含まれています。
このクラスは、NamingManagerの拡張です。 サービス・プロバイダがオブジェクト・ファクトリおよび状態ファクトリにアクセスするとき、および連合をサポートする継続コンテキストを取得するときに使用するメソッドを格納します。
DirectoryManagerは、複数のスレッドによる同時アクセスに対して安全です。
特に明記されていないかぎり、メソッドに渡されるName、Attributesまたは環境パラメータは、コール元によって所有されます。 実装はオブジェクトを変更せず、そのオブジェクトに対する参照も保持しませんが、その複製またはコピーに対する参照を保持することがあります。
- 導入されたバージョン:
- 1.3
- 関連項目:
-
フィールドのサマリー
クラスjavax.naming.spi.NamingManagerで宣言されたフィールド
CPE -
メソッドのサマリー
修飾子と型メソッド説明static DirContextDirContext操作を続行するコンテキストを作成します。static ObjectgetObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?, ?> environment, Attributes attrs) 指定されたオブジェクト、属性、および環境にオブジェクトのインスタンスを生成します。static DirStateFactory.ResultgetStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment, Attributes attrs) 元のオブジェクトおよびその属性が指定されたときに、オブジェクトのバインディングの状態を取得します。
-
メソッドの詳細
-
getContinuationDirContext
public static DirContext getContinuationDirContext(CannotProceedException cpe) throws NamingException DirContext操作を続行するコンテキストを作成します。NamingManager.getContinuationContext()と同様に動作し、返される継続コンテキストのみがDirContextです。- パラメータ:
cpe- この継続をトリガーしたnull以外の例外。- 戻り値:
- 操作を続行するためのnull以外の
DirContextオブジェクト。 - 例外:
NamingException- ネーミング例外が発生した場合。- 関連項目:
-
getObjectInstance
public static Object getObjectInstance(Object refInfo, Name name, Context nameCtx, Hashtable<?, ?> environment, Attributes attrs) throws Exception指定されたオブジェクト、属性、および環境にオブジェクトのインスタンスを生成します。このメソッドは、次の違いを除き、
NamingManager.getObjectInstanceと同じです:-
オブジェクトに関連付けられた属性を含む
Attributesパラメータを受け入れます。DirObjectFactoryでは、これらの属性を使用して、ディレクトリから検索する必要性を節約できます。 -
試行したオブジェクト・ファクトリは、
ObjectFactoryまたはDirObjectFactoryを実装する必要があります。DirObjectFactoryを実装する場合、DirObjectFactory.getObjectInstance()が使用され、それ以外の場合はObjectFactory.getObjectInstance()が使用されます。
DirContextインタフェースを実装するサービス・プロバイダは、NamingManager.getObjectInstance()ではなく、このメソッドを使用する必要があります。- パラメータ:
refInfo- オブジェクトを作成する対象となるnullの可能性があるオブジェクト。name-nameCtxを基準にしたこのオブジェクトの名前。 名前の指定はオプション。省略される場合は、nameをnullにする。nameCtx-nameパラメータが基準にして指定されているコンテキスト。 nullの場合、nameはデフォルトの初期コンテキストを基準にする。environment- オブジェクト・ファクトリとオブジェクトの作成で使用されるnullの可能性がある環境。attrs- nullの可能性がある、refInfoに関連した属性。 これはrefInfoの完全属性セットではない場合がある。ディレクトリからさらに属性を読み込めることがある。- 戻り値:
refInfoおよびattrsを使用して作成されたオブジェクト、またはファクトリでオブジェクトを作成できない場合はrefInfo。- 例外:
NamingException- URLコンテキストを取得するときにネーミング例外が見つかった場合、またはアクセスしたファクトリの1つがNamingExceptionをスローした場合。Exception- アクセスされたいずれかのファクトリが例外をスローした場合、またはファクトリやオブジェクト・クラスのロード中およびインスタンス化中にエラーが検出された場合。 ファクトリは、オブジェクトの作成にほかのファクトリが使用されるようにしたくない場合にのみ例外をスローするようにする。DirObjectFactory.getObjectInstance()を参照してください。- 導入されたバージョン:
- 1.3
- 関連項目:
-
オブジェクトに関連付けられた属性を含む
-
getStateToBind
public static DirStateFactory.Result getStateToBind(Object obj, Name name, Context nameCtx, Hashtable<?, ?> environment, Attributes attrs) throws NamingException元のオブジェクトおよびその属性が指定されたときに、オブジェクトのバインディングの状態を取得します。このメソッドは
NamingManager.getStateToBindと似ていますが、次の違いがあります:DirContext.bind()メソッドに渡された属性を含むAttributesパラメータを受け入れます。- バインドするオブジェクトを含むnull以外の
DirStateFactory.Resultインスタンスと、バインディングに付随する属性を返します。 オブジェクトまたは属性のどちらかがnullでもよい。 -
試行された状態ファクトリは、それぞれ
StateFactoryまたはDirStateFactoryを実装する必要があります。DirStateFactoryを実装する場合、DirStateFactory.getStateToBind()がコールされます。実装されていない場合は、StateFactory.getStateToBind()がコールされます。
DirContextインタフェースを実装するサービス・プロバイダは、NamingManager.getStateToBind()ではなく、このメソッドを使用する必要があります。試行する状態ファクトリのリストを決定する方法の説明については、NamingManager.getStateToBind()を参照してください。
このメソッドが返すオブジェクトは呼出し側が所有します。 実装は続いてこれを変更しません。 これには、同じようにコール元が所有する新しい
Attributesオブジェクト、または元のattrsパラメータへの参照が含まれます。- パラメータ:
obj- バインドする状態を取得する対象となるnull以外のオブジェクト。name-nameCtxを基準にしたこのオブジェクトの名前、または名前が指定されていない場合はnull。nameCtx-nameパラメータが基準にして指定されているコンテキスト、またはnameがデフォルトの初期コンテキストを基準にしている場合はnull。environment- 状態ファクトリとオブジェクトの状態の作成で使用されるnullの可能性がある環境。attrs- nullの可能性がある、オブジェクトにバインドされるAttribute。- 戻り値:
- null以外のDirStateFactory。 状態ファクトリがnull以外の回答を返さない場合、結果にはオブジェクト(
obj)自体が元の属性とともに含まれます。 - 例外:
NamingException- ファクトリを使用中にネーミング例外が発生した場合。 ファクトリは、オブジェクトの作成にほかのファクトリが使用されるようにしたくない場合にのみ例外をスローするようにする。DirStateFactory.getStateToBind()を参照してください。- 導入されたバージョン:
- 1.3
- 関連項目:
-