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

クラスDirectoryManager


  • public class DirectoryManager
    extends NamingManager
    このクラスには、DirContext実装をサポートするためのメソッドが含まれています。

    このクラスはNamingManagerを拡張したものです。 サービス・プロバイダがオブジェクト・ファクトリおよび状態ファクトリにアクセスするとき、および連合をサポートする継続コンテキストを取得するときに使用するメソッドを格納します。

    DirectoryManagerは、複数のスレッドによる並行アクセスでもセキュリティ上安全です。

    別途注釈のある場合を除いて、NameAttributes、またはメソッドに渡される環境パラメータは、呼出し側が所有します。 実装はオブジェクトを変更せず、そのオブジェクトに対する参照も保持しませんが、その複製またはコピーに対する参照を保持することがあります。

    導入されたバージョン:
    1.3
    関連項目:
    DirObjectFactory, DirStateFactory
    • メソッドの詳細

      • getContinuationDirContext

        public static DirContext getContinuationDirContext​(CannotProceedException cpe)
                                                    throws NamingException
        DirContext操作を続行するコンテキストを作成します。 NamingManager.getContinuationContext()と同じように動作します。返される継続コンテキストはDirContextのみです。
        パラメータ:
        cpe - この継続をトリガーしたnull以外の例外。
        戻り値:
        操作を継続するnull以外のDirContextオブジェクト。
        例外:
        NamingException - ネーミング例外が発生した場合。
        関連項目:
        NamingManager.getContinuationContext(CannotProceedException)
      • 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()が使用される。
        NamingManager.getObjectInstance()インタフェースではなくDirContextインタフェースを実装しているサービス・プロバイダがこのメソッドを使います。

        パラメータ:
        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
        関連項目:
        NamingManager.getURLContext(java.lang.String, java.util.Hashtable<?, ?>), DirObjectFactory, DirObjectFactory.getObjectInstance(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>, javax.naming.directory.Attributes)
      • 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()が呼び出される。
        NamingManager.getStateToBind()インタフェースではなくDirContextインタフェースを実装しているサービス・プロバイダをこのメソッドに使います。

        試行する状態ファクトリのリストを決定する方法の説明については、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
        関連項目:
        DirStateFactory, DirStateFactory.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>, javax.naming.directory.Attributes), NamingManager.getStateToBind(java.lang.Object, javax.naming.Name, javax.naming.Context, java.util.Hashtable<?, ?>)