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

インタフェースContext

  • 既知のすべてのサブインタフェース:
    DirContext, EventContext, EventDirContext, LdapContext
    既知のすべての実装クラス:
    InitialContext, InitialDirContext, InitialLdapContext

    public interface Context
    このインタフェースは、名前からオブジェクトへのバインディングのセットから構成されるネーミング・コンテキストを表します。 このインタフェースには、これらのバインディングを検査および更新するメソッドが含まれています。

    名前

    Contextメソッドに引数として渡される名前はそれぞれ、そのコンテキストを基準にしています。 コンテキスト自体を指定する場合は、空の名前が使用されます。 名前パラメータはnullにできません。

    ほとんどのメソッドには、NameパラメータおよびStringを使用するオーバーロードされたバージョンがあります。 これらのオーバーロードされたバージョンは、NameパラメータとStringパラメータが単に同じ名前の異なる表現である場合に、同じメソッドのオーバーロードされたバージョンが同じように動作するという点で同等です。 以下のメソッドの説明では、1つのバージョンだけが完全にドキュメント化されています。 2番目のバージョンには、最初のバージョンへのリンクがあり、同じドキュメントが両方に適用されます。

    連合をサポートするシステムでは、Contextメソッドに対するString名前引数は、合成名です。 CompositeNameのインスタンスである名前引数は合成名とみなされ、CompositeNameのインスタンスではないName引数は、CompoundNameのインスタンス、または複合名のその他の実装である複合名とみなされます。 これにより、NameParser.parse()の結果をContexメソッドに対する引数として使用できます。 JNDI 1.2以前は、すべての名前引数が合成名とみなされていました。

    さらに、連合をサポートするシステムでは、list()およびlistBindings()からNamingEnumerationに返される名前はすべて、文字列として表される合成名です。 名前の文字列構文については、CompositeNameを参照してください。

    連合をサポートしていないシステムでは、(NameまたはString形式の)名前引数およびNamingEnumerationで返される名前は、サービス・プロバイダの判断により、合成名前空間の名前ではなく、独自の名前空間の名前になることがあります。

    例外

    このインタフェースのすべてのメソッドによって、NamingExceptionまたはそのサブクラスのいずれかがスローされます。 各例外の詳細については、NamingExceptionおよびサブクラスを参照してください。

    並行アクセス

    Contextインスタンスは、複数のスレッドによる並行アクセスに対して同期することは保証されていません。 単一のContextインスタンスに並行してアクセスする必要のあるスレッドは、それらのスレッド間で同期化し、必要なロックをする必要があります。 異なるContextインスタンスを操作する複数スレッドは、同期化される必要はありません。 lookupメソッドが空の名前を渡すと、同じ名前付けコンテキストを表す新しいContextインスタンスが返されることに注意してください。

    並行性を制御するために、NamingEnumerationを返すコンテキスト・オペレーションは、列挙が使用中のとき、またはそのオペレーションで生成される参照が実行中のときには、完了していないものとみなされます。

    パラメータ

    Contextインタフェースのメソッドまたはそのサブインタフェースの1つに引き渡されるNameパラメータは、サービス・プロバイダでは変更されません。 サービス・プロバイダでは、メソッドの結果の列挙、および生成された参照の処理を含むオペレーションの間に、そこへの参照が保持されます。 呼出し側は、この間にオブジェクトを変更することはできません。 このようなメソッドによって返されるNameは、呼出し側が所有します。 呼出し側はその後このオブジェクトを変更できますが、サービス・プロバイダは変更できません。

    環境プロパティ

    JNDIアプリケーションでは、ネーミング・サービスとディレクトリ・サービスからアクセスされる環境を定義する、さまざまな設定やプロパティを伝達する方法が必要とされます。 たとえば、あるコンテキストでは、サービスにアクセスするためにセキュリティ資格の指定が必要になります。 別のコンテキストでは、サーバー構成情報を指定する必要があります。 これらは、コンテキストの環境と呼ばれます。 Contextインタフェースでは、この環境を取得および更新するためのメソッドが提供されています。

    環境は、コンテキスト・メソッドがあるコンテキストから次のコンテキストに進むにつれて、親コンテキストから継承されます。 1つのコンテキストの環境を変更しても、その他のコンテキストの環境には直接影響しません。

    環境プロパティの使用、または有効性の検査、あるいはその両方がいつ行われるかは、実装に依存します。 たとえば、ディレクトリに「ログイン」するために、サービス・プロバイダでセキュリティ関連のプロパティが使用されるとします。 このログイン・プロセスは、コンテキストが作成されたとき、またはコンテキストでメソッドが最初に呼び出されたときに発生します。 これがいつ発生するか、および発生するかどうかは、実装に依存します。 コンテキストに対して環境プロパティの追加または削除が行われたときに、変更の有効性の検査が行われるタイミングも、実装に依存します。 たとえば、あるプロパティの検査は、変更が行われたとき、またはコンテキストで次のオペレーションが実行されたときに行われるか、あるいはまったく行われません。

    コンテキストへの参照を含むオブジェクトでは、そのコンテキストの環境が検査されます。 クリアテキストのパスワードなどの重要な情報は、実装で保護されているかどうかがわからない場合には、保存しないでください。

    リソース・ファイル

    JNDIアプリケーションで必要な環境を設定するタスクを簡単にするために、アプリケーション・コンポーネントとサービス・プロバイダがリソース・ファイルとともに分配されることがあります。 JNDIリソース・ファイルは、プロパティ・ファイル形式(java.util.Propertiesを参照してください)のファイルで、キーと値のペアのリストを含んでいます。 キーはプロパティの名前(java.naming.factory.objectなど)で、値はそのプロパティに定義された形式の文字列です。 次に、JNDIリソース・ファイルの例を示します。

    java.naming.factory.object=com.sun.jndi.ldap.AttrsToCorba:com.wiz.from.Person java.naming.factory.state=com.sun.jndi.ldap.CorbaToAttrs:com.wiz.from.Person java.naming.factory.control=com.sun.jndi.ldap.ResponseControlFactory
    JNDIクラス・ライブラリでは、リソース・ファイルを読み込み、プロパティ値を自由に使用できるようにします。 JNDIリソース・ファイルは、不特定のユーザーが読み込む可能性があります。クリアテキストのパスワードなどの重要な情報は、ここに保存しないでください。

    JNDIリソース・ファイルには、プロバイダおよびアプリケーションの2種類があります。

    プロバイダ・リソース・ファイル

    各サービス・プロバイダには、そのプロバイダに固有のプロパティをリストに表示するオプションのリソースがあります。 このリソースの名前は次のようになります。
    [prefix/] jndiprovider.properties
    ここで、prefixはプロバイダのコンテキスト実装のパッケージ名であり、各ピリオド(「.」)はスラッシュ(「/」)に変換されます。 たとえば、サービス・プロバイダがcom.sun.jndi.ldap.LdapCtxというクラス名を持つコンテキスト実装を定義するとします。 このプロバイダのプロバイダ・リソースには、com/sun/jndi/ldap/jndiprovider.propertiesという名前が付けられます。 クラスがパッケージにない場合、リソースの名前は単にjndiprovider.propertiesになります。

    JNDIクラス・ライブラリの特定のメソッドでは、JNDIファクトリのリストを指定する標準JNDIプロパティが使用されます。

    • java.naming.factory.object
    • java.naming.factory.state
    • java.naming.factory.control
    • java.naming.factory.url.pkgs
    JNDIライブラリでは、これらのプロパティの値を決定するときに、プロバイダ・リソース・ファイルが参照されます。 これ以外のプロパティは、サービス・プロバイダの判断により、プロバイダ・リソース・ファイルで設定されます。 サービス・プロバイダのドキュメントでは、使用可能なプロパティが明示される必要があります。ファイルのその他のプロパティは無視されます。

    アプリケーション・リソース・ファイル

    アプリケーションが配置される場合、通常はclasspathに複数のコードベース・ディレクトリおよびJARがあります。 JNDIはクラスパス内のjndi.propertiesという名前の「アプリケーション・リソース・ファイル」をすべて検索します。 さらに、Javaインストール・ディレクトリに組み込みのプロパティ・ファイル(通常はconf/jndi.properties)が含まれている場合、JNDIはそれを追加のアプリケーション・リソース・ファイルとして扱います。 これらのファイルに含まれるプロパティはすべて、初期コンテキストの環境に配置されます。 この環境は、他のコンテキストに継承されます。

    1つ以上のアプリケーション・リソース・ファイルにあるプロパティの場合、JNDIでは検索された最初の値が使用されるか、または意味がある場合に限り、すべての値が連結されます(詳細は次に示します)。 たとえば、3つのjndi.propertiesリソース・ファイルにjava.naming.factory.objectプロパティがある場合、オブジェクト・ファクトリのリストは、3つのファイルすべてからのプロパティ値の連結になります。 この方式を使用すると、配置可能なコンポーネントのそれぞれで、エクスポートするファクトリがリスト表示されます。 JNDIでは、ファクトリ・クラスを検索するときに、これらのエクスポート・リストがすべて収集および使用されます。

    プロパティの検索アルゴリズム

    JNDIが初期コンテキストを構築するとき、コンテキスト環境は、コンストラクタに渡される環境パラメータで定義されたプロパティ、システム・プロパティ、およびアプリケーション・リソース・ファイルで初期化されます。 詳細については、InitialContextを参照してください。 この初期環境は、ほかのコンテキスト・インスタンスで継承されます。

    JNDIクラス・ライブラリでプロパティの値を決定する必要がある場合は、次の2つのソースから値を順にマージして実行します。

    1. 生成されるコンテキストの環境。
    2. 生成されるコンテキストのプロバイダ・リソース・ファイル(jndiprovider.properties)。
    この2つのソースのプロパティについて、JNDIではプロパティの値が次のように決定されます。 プロパティが、JNDIファクトリのリストを指定する標準JNDIプロパティの1つの場合(上記にリスト表示されている)、値は1つのコロンで区切られたリストに連結されます。 ほかのプロパティの場合は、検索された最初の値だけが使用されます。

    サービス・プロバイダでプロパティの値を決定する必要がある場合、通常は環境から値が直接取得されます。 サービス・プロバイダは、独自のプロバイダ・リソース・ファイルに配置される、プロバイダ固有のプロパティを定義できます。 その場合は、前の段落で説明した値をマージする必要があります。

    このように、各サービス・プロバイダの開発者は、そのサービス・プロバイダで使用するファクトリのリストを指定できます。 これらは、アプリケーションのデプロイヤによって指定されたアプリケーション・リソースによって変更できます。アプリケーション・リソースは、ユーザーが変更できます。

    導入されたバージョン:
    1.3
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      static String APPLET
      非推奨。
      この名前の環境プロパティは、初期コンテキストを構築する際に無視されます。
      static String AUTHORITATIVE
      要求されたサービスの権限を指定するための、環境プロパティの名前を保持する定数です。
      static String BATCHSIZE
      サービスのプロトコルによってデータを返すときに使用するバッチ・サイズを指定するための、環境プロパティの名前を保持する定数です。
      static String DNS_URL
      JNDI URLコンテキスト(dns://somehost/wiz.comなど)に使用するDNSホスト名およびドメイン名を指定するための、環境プロパティの名前を保持する定数です。
      static String INITIAL_CONTEXT_FACTORY
      使用する初期コンテキスト・ファクトリを指定するための、環境プロパティの名前を保持する定数です。
      static String LANGUAGE
      サービスに使用する優先言語を指定するための、環境プロパティの名前を保持する定数です。
      static String OBJECT_FACTORIES
      使用するオブジェクト・ファクトリのリストを指定するための、環境プロパティの名前を保持する定数です。
      static String PROVIDER_URL
      使用するサービス・プロバイダの構成情報を指定するための、環境プロパティの名前を保持する定数です。
      static String REFERRAL
      サービス・プロバイダによって参照が処理される方法を指定するための、環境プロパティの名前を保持する定数です。
      static String SECURITY_AUTHENTICATION
      使用するセキュリティ・レベルを指定するための、環境プロパティの名前を保持する定数です。
      static String SECURITY_CREDENTIALS
      サービスに対する呼出し側を認証する主体の資格を指定するための、環境プロパティの名前を保持する定数です。
      static String SECURITY_PRINCIPAL
      サービスに対する呼出し側を認証する主体の識別情報を指定するための、環境プロパティの名前を保持する定数です。
      static String SECURITY_PROTOCOL
      使用するセキュリティ・プロトコルを指定するための、環境プロパティの名前を保持する定数です。
      static String STATE_FACTORIES
      使用する状態ファクトリのリストを指定するための、環境プロパティの名前を保持する定数です。
      static String URL_PKG_PREFIXES
      URLコンテキスト・ファクトリをロードするときに使用するパッケージ接頭辞のリストを指定するための、環境プロパティの名前を保持する定数です。
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 
      修飾子と型 メソッド 説明
      Object addToEnvironment​(String propName, Object propVal)
      このコンテキストの環境に、新しい環境プロパティを追加します。
      void bind​(String name, Object obj)
      名前をオブジェクトにバインドします。
      void bind​(Name name, Object obj)
      名前をオブジェクトにバインドします。
      void close()
      このコンテキストを閉じます。
      String composeName​(String name, String prefix)
      このコンテキストを基準にした名前を持つこのコンテキストの名前を変換します。
      Name composeName​(Name name, Name prefix)
      このコンテキストを基準にした名前を持つこのコンテキストの名前を変換します。
      Context createSubcontext​(String name)
      新しいコンテキストを作成してバインドします。
      Context createSubcontext​(Name name)
      新しいコンテキストを作成してバインドします。
      void destroySubcontext​(String name)
      名前付きコンテキストを破棄し、名前空間から削除します。
      void destroySubcontext​(Name name)
      名前付きコンテキストを破棄し、名前空間から削除します。
      Hashtable<?,​?> getEnvironment()
      このコンテキストで有効な環境を取得します。
      String getNameInNamespace()
      独自の名前空間でこのコンテキストの完全な名前を取得します。
      NameParser getNameParser​(String name)
      名前付きコンテキストに関連したパーサーを取得します。
      NameParser getNameParser​(Name name)
      名前付きコンテキストに関連したパーサーを取得します。
      NamingEnumeration<NameClassPair> list​(String name)
      バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。
      NamingEnumeration<NameClassPair> list​(Name name)
      バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。
      NamingEnumeration<Binding> listBindings​(String name)
      バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。
      NamingEnumeration<Binding> listBindings​(Name name)
      バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。
      Object lookup​(String name)
      名前付きオブジェクトを取得します。
      Object lookup​(Name name)
      名前付きオブジェクトを取得します。
      Object lookupLink​(String name)
      名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。
      Object lookupLink​(Name name)
      名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。
      void rebind​(String name, Object obj)
      名前をオブジェクトにバインドし、既存のバインディングを上書きします。
      void rebind​(Name name, Object obj)
      名前をオブジェクトにバインドし、既存のバインディングを上書きします。
      Object removeFromEnvironment​(String propName)
      このコンテキストの環境から環境プロパティを削除します。
      void rename​(String oldName, String newName)
      新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。
      void rename​(Name oldName, Name newName)
      新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。
      void unbind​(String name)
      名前付きオブジェクトをアンバインドします。
      void unbind​(Name name)
      名前付きオブジェクトをアンバインドします。
    • フィールドの詳細

      • PROVIDER_URL

        static final String PROVIDER_URL
        使用するサービス・プロバイダの構成情報を指定するための、環境プロパティの名前を保持する定数です。 プロパティの値には、URL文字列(ldap://somehost:389など)が含まれる必要があります。 このプロパティは、環境、システム・プロパティ、またはリソース・ファイルで指定することができます。 これらのソースが指定されていない場合、デフォルトの構成はサービス・プロバイダによって決定されます。

        この定数の値は"java.naming.provider.url"です。

        関連項目:
        addToEnvironment(String, Object)removeFromEnvironment(String)定数フィールド値
      • DNS_URL

        static final String DNS_URL
        JNDI URLコンテキスト(dns://somehost/wiz.comなど)に使用するDNSホスト名およびドメイン名を指定するための、環境プロパティの名前を保持する定数です。 このプロパティは、環境、システム・プロパティ、またはリソース・ファイルで指定することができます。 これらのソースが指定されていない場合に、プログラムでDNS名を含むJNDI URLを使用しようとすると、ConfigurationExceptionがスローされます。

        この定数の値は"java.naming.dns.url"です。

        関連項目:
        addToEnvironment(String, Object)removeFromEnvironment(String)定数フィールド値
      • AUTHORITATIVE

        static final String AUTHORITATIVE
        要求されたサービスの権限を指定するための、環境プロパティの名前を保持する定数です。 プロパティの値が文字列trueの場合、もっとも正当な権限を持つソースにアクセスできる(キャッシュまたは複製をバイパスする)ことを示します。 値がそれ以外の場合、ソースには権限は必要ありませんが、持っている場合もあります。 指定しない場合、値のデフォルトはfalseです。

        この定数の値は"java.naming.authoritative"です。

        関連項目:
        addToEnvironment(String, Object)removeFromEnvironment(String)定数フィールド値
      • BATCHSIZE

        static final String BATCHSIZE
        サービスのプロトコルによってデータを返すときに使用するバッチ・サイズを指定するための、環境プロパティの名前を保持する定数です。 これは、指定したサイズのバッチでオペレーションの結果を返すプロバイダへのヒントになるため、プロバイダはパフォーマンスおよびリソースの使用法を最適化できます。 プロパティの値は、整数の文字列表現です。 指定しない場合、バッチ・サイズはサービス・プロバイダによって決定されます。

        この定数の値は"java.naming.batchsize"です。

        関連項目:
        addToEnvironment(String, Object)removeFromEnvironment(String)定数フィールド値
      • REFERRAL

        static final String REFERRAL
        サービス・プロバイダによって参照が処理される方法を指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、次の文字列の1つです。
        "follow"
        参照に自動的に従う
        "ignore"
        参照を無視する
        "throw"
        参照が見つかった場合、ReferralExceptionをスローする。
        このプロパティが指定されていない場合、デフォルトはプロバイダによって決定されます。

        この定数の値は"java.naming.referral"です。

        関連項目:
        addToEnvironment(String, Object)removeFromEnvironment(String)定数フィールド値
      • SECURITY_PROTOCOL

        static final String SECURITY_PROTOCOL
        使用するセキュリティ・プロトコルを指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、サービス・プロバイダによって決定される文字列(sslなど)です。 このプロパティが指定されていない場合、動作はサービス・プロバイダによって決定されます。

        この定数の値は"java.naming.security.protocol"です。

        関連項目:
        addToEnvironment(String, Object)removeFromEnvironment(String)定数フィールド値
      • SECURITY_AUTHENTICATION

        static final String SECURITY_AUTHENTICATION
        使用するセキュリティ・レベルを指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、文字列none、simple、strongのうちの1つです。 このプロパティが指定されていない場合、動作はサービス・プロバイダによって決定されます。

        この定数の値は"java.naming.security.authentication"です。

        関連項目:
        addToEnvironment(String, Object)removeFromEnvironment(String)定数フィールド値
      • SECURITY_PRINCIPAL

        static final String SECURITY_PRINCIPAL
        サービスに対する呼出し側を認証する主体の識別情報を指定するための、環境プロパティの名前を保持する定数です。 主体の形式は、認証方式によります。 このプロパティが指定されていない場合、動作はサービス・プロバイダによって決定されます。

        この定数の値は"java.naming.security.principal"です。

        関連項目:
        addToEnvironment(String, Object)removeFromEnvironment(String)定数フィールド値
      • SECURITY_CREDENTIALS

        static final String SECURITY_CREDENTIALS
        サービスに対する呼出し側を認証する主体の資格を指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、認証方式によります。 たとえば、ハッシュされたパスワード、クリアテキストのパスワード、キー、証明書などです。 このプロパティが指定されていない場合、動作はサービス・プロバイダによって決定されます。

        この定数の値は"java.naming.security.credentials"です。

        関連項目:
        addToEnvironment(String, Object)removeFromEnvironment(String)定数フィールド値
      • LANGUAGE

        static final String LANGUAGE
        サービスに使用する優先言語を指定するための、環境プロパティの名前を保持する定数です。 プロパティの値は、RFC 1766で定義されている言語タグのコロンで区切られたリストです。 このプロパティが指定されていない場合、言語の設定はサービス・プロバイダによって決定されます。

        この定数の値は"java.naming.language"です。

        関連項目:
        addToEnvironment(String, Object)removeFromEnvironment(String)定数フィールド値
      • APPLET

        @Deprecated
        static final String APPLET
        非推奨。
        この名前の環境プロパティは、初期コンテキストを構築する際に無視されます。 この定数はもともと、初期コンテキストを作成するときにパラメータを取り出すためのAppletを指定するプロパティ名として使用されました。 現在、初期コンテキストに渡す必要があるアプレットのプロパティはすべて、環境ハッシュテーブルにコピーする必要があります:
        
             Hashtable env = new Hashtable();
             env.put(Context.INITIAL_CONTEXT_FACTORY,
               ((Applet) this).getParameter(Context.INITIAL_CONTEXT_FACTORY));
             env.put(Context.PROVIDER_URL,
               ((Applet) this).getParameter(Context.PROVIDER_URL));
             // ... other properties ...
        
             Context ctx = new InitialContext(env);
         
        導入されたバージョン:
        1.3
        関連項目:
        定数フィールド値
    • メソッドの詳細

      • lookup

        Object lookup​(Name name)
               throws NamingException
        名前付きオブジェクトを取得します。 nameが空の場合は、このコンテキストの新しいインスタンスを返します(これは、このコンテキストと同じネーミング・コンテキストを表しますが、その環境を個別に変更したり、同時にアクセスしたりできます)。
        パラメータ:
        name - 検索するオブジェクトの名前
        戻り値:
        nameにバインドされたオブジェクト
        例外:
        NamingException - ネーミング例外が発生した場合
        関連項目:
        lookup(String), lookupLink(Name)
      • lookup

        Object lookup​(String name)
               throws NamingException
        名前付きオブジェクトを取得します。 詳細は、lookup(Name)を参照してください。
        パラメータ:
        name - 検索するオブジェクトの名前
        戻り値:
        nameにバインドされたオブジェクト
        例外:
        NamingException - ネーミング例外が発生した場合
      • bind

        void bind​(String name,
                  Object obj)
           throws NamingException
        名前をオブジェクトにバインドします。 詳細は、bind(Name, Object)を参照してください。
        パラメータ:
        name - バインドする名前。空は不可
        obj - バインドするオブジェクト。nullの可能性がある
        例外:
        NameAlreadyBoundException - 名前がすでにバインドされている場合
        InvalidAttributesException - オブジェクトによって一部の必須属性が指定されなかった場合
        NamingException - ネーミング例外が発生した場合
      • rebind

        void rebind​(Name name,
                    Object obj)
             throws NamingException
        名前をオブジェクトにバインドし、既存のバインディングを上書きします。 名前の終端の基本コンポーネント以外のすべてによって名付けられた、すべての中間コンテキストおよびターゲット・コンテキストがすでに存在している必要があります。

        オブジェクトがDirContextの場合、名前に関連付けられている既存の属性はすべて、そのオブジェクトの属性に置き換えられます。 そうでない場合、名前に関連付けられている既存の属性は、変更されないままです。

        パラメータ:
        name - バインドする名前。空は不可
        obj - バインドするオブジェクト。nullの可能性がある
        例外:
        InvalidAttributesException - オブジェクトによって一部の必須属性が指定されなかった場合
        NamingException - ネーミング例外が発生した場合
        関連項目:
        rebind(String, Object), bind(Name, Object), DirContext.rebind(Name, Object, javax.naming.directory.Attributes), DirContext
      • rebind

        void rebind​(String name,
                    Object obj)
             throws NamingException
        名前をオブジェクトにバインドし、既存のバインディングを上書きします。 詳細は、rebind(Name, Object)を参照してください。
        パラメータ:
        name - バインドする名前。空は不可
        obj - バインドするオブジェクト。nullの可能性がある
        例外:
        InvalidAttributesException - オブジェクトによって一部の必須属性が指定されなかった場合
        NamingException - ネーミング例外が発生した場合
      • unbind

        void unbind​(Name name)
             throws NamingException
        名前付きオブジェクトをアンバインドします。 nameの終端の基本部分を除くすべてによって指定されたターゲット・コンテキストからnameの終端の基本名を削除します。

        このメソッドはべき等です。 終端の基本名がターゲット・コンテキストでバインドされていない場合でも成功しますが、いずれかの中間コンテキストが存在しない場合はNameNotFoundExceptionがスローされます。

        名前に関連付けられている属性が削除されます。 中間コンテキストは変更されません。

        パラメータ:
        name - アンバインドする名前。空は不可
        例外:
        NameNotFoundException - 中間コンテキストが存在しない場合
        NamingException - ネーミング例外が発生した場合
        関連項目:
        unbind(String)
      • unbind

        void unbind​(String name)
             throws NamingException
        名前付きオブジェクトをアンバインドします。 詳細は、unbind(Name)を参照してください。
        パラメータ:
        name - アンバインドする名前。空は不可
        例外:
        NameNotFoundException - 中間コンテキストが存在しない場合
        NamingException - ネーミング例外が発生した場合
      • rename

        void rename​(Name oldName,
                    Name newName)
             throws NamingException
        新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。 2つの名前は、このコンテキストを基準にします。 以前の名前に関連付けられている属性は、新しい名前に関連付けられます。 以前の名前の中間コンテキストは、変更されません。
        パラメータ:
        oldName - 既存のバインディングの名前。空は不可
        newName - 新しいバインディングの名前。空は不可
        例外:
        NameAlreadyBoundException - newNameがすでにバインドされている場合
        NamingException - ネーミング例外が発生した場合
        関連項目:
        rename(String, String), bind(Name, Object), rebind(Name, Object)
      • rename

        void rename​(String oldName,
                    String newName)
             throws NamingException
        新しい名前を、以前の名前にバインドされたオブジェクトにバインドし、以前の名前をアンバインドします。 詳細は、rename(Name, Name)を参照してください。
        パラメータ:
        oldName - 既存のバインディングの名前。空は不可
        newName - 新しいバインディングの名前。空は不可
        例外:
        NameAlreadyBoundException - newNameがすでにバインドされている場合
        NamingException - ネーミング例外が発生した場合
      • list

        NamingEnumeration<NameClassPair> list​(Name name)
                                       throws NamingException
        バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。 サブコンテキストの内容は含まれません。

        このコンテキストにバインディングが追加されるか、またはこのコンテキストからバインディングが削除される場合、以前に返された列挙への影響は定義されていません。

        パラメータ:
        name - リスト表示するコンテキストの名前
        戻り値:
        このコンテキストのバインディングの名前とクラス名の列挙。 列挙の各要素の型はNameClassPair
        例外:
        NamingException - ネーミング例外が発生した場合
        関連項目:
        list(String), listBindings(Name), NameClassPair
      • list

        NamingEnumeration<NameClassPair> list​(String name)
                                       throws NamingException
        バインドされたオブジェクトのクラス名とともに、名前付きコンテキストでバインドされた名前を列挙します。 詳細は、list(Name)を参照してください。
        パラメータ:
        name - リスト表示するコンテキストの名前
        戻り値:
        このコンテキストのバインディングの名前とクラス名の列挙。 列挙の各要素の型はNameClassPair
        例外:
        NamingException - ネーミング例外が発生した場合
      • listBindings

        NamingEnumeration<Binding> listBindings​(Name name)
                                         throws NamingException
        バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。 サブコンテキストの内容は含まれません。

        このコンテキストにバインディングが追加されるか、またはこのコンテキストからバインディングが削除される場合、以前に返された列挙への影響は定義されていません。

        パラメータ:
        name - リスト表示するコンテキストの名前
        戻り値:
        このコンテキストのバインディングの列挙。 列挙の各要素の型はBinding
        例外:
        NamingException - ネーミング例外が発生した場合
        関連項目:
        listBindings(String), list(Name), Binding
      • listBindings

        NamingEnumeration<Binding> listBindings​(String name)
                                         throws NamingException
        バインドされたオブジェクトとともに、名前付きコンテキストでバインドされた名前を列挙します。 詳細は、listBindings(Name)を参照してください。
        パラメータ:
        name - リスト表示するコンテキストの名前
        戻り値:
        このコンテキストのバインディングの列挙。 列挙の各要素の型はBinding
        例外:
        NamingException - ネーミング例外が発生した場合
      • destroySubcontext

        void destroySubcontext​(Name name)
                        throws NamingException
        名前付きコンテキストを破棄し、名前空間から削除します。 名前に関連付けられている属性も削除されます。 中間コンテキストは破棄されません。

        このメソッドはべき等です。 終端の基本名がターゲット・コンテキストでバインドされていない場合でも成功しますが、いずれかの中間コンテキストが存在しない場合はNameNotFoundExceptionがスローされます。

        連合ネーミング・システムでは、1つのネーミング・システムからのコンテキストが別のネーミング・システムの名前にバインドされます。 そのあと、合成名を使用して外部コンテキストのオペレーションを検索および実行できます。 ただし、外部コンテキストはバインドされたコンテキストの「サブコンテキスト」ではないため、この合成名を使用してコンテキストを破棄しようとすると、NotContextExceptionで失敗します。 代わりに、unbind()を使用して、外部コンテキストのバインディングを削除します。 外部コンテキストを破棄するには、外部コンテキストの「ネイティブな」ネーミング・システムからのコンテキストでdestroySubcontext()を実行する必要があります。

        パラメータ:
        name - 破棄されるコンテキストの名前。空は不可
        例外:
        NameNotFoundException - 中間コンテキストが存在しない場合
        NotContextException - 名前がバインドされているが、コンテキストに名前を付けていないか、または該当する型のコンテキストに名前を付けていない場合
        ContextNotEmptyException - 指定されたコンテキストが空でない場合
        NamingException - ネーミング例外が発生した場合
        関連項目:
        destroySubcontext(String)
      • destroySubcontext

        void destroySubcontext​(String name)
                        throws NamingException
        名前付きコンテキストを破棄し、名前空間から削除します。 詳細は、destroySubcontext(Name)を参照してください。
        パラメータ:
        name - 破棄されるコンテキストの名前。空は不可
        例外:
        NameNotFoundException - 中間コンテキストが存在しない場合
        NotContextException - 名前がバインドされているが、コンテキストに名前を付けていないか、または該当する型のコンテキストに名前を付けていない場合
        ContextNotEmptyException - 指定されたコンテキストが空でない場合
        NamingException - ネーミング例外が発生した場合
      • createSubcontext

        Context createSubcontext​(Name name)
                          throws NamingException
        新しいコンテキストを作成してバインドします。 指定した名前の新しいコンテキストを作成し、(名前の終端の基本コンポーネント以外のすべてによって名付けられた)ターゲット・コンテキストでバインドします。 すべての中間コンテキストおよびターゲット・コンテキストがすでに存在している必要があります。
        パラメータ:
        name - 作成するコンテキストの名前。空は不可
        戻り値:
        新しく作成されたコンテキスト
        例外:
        NameAlreadyBoundException - 名前がすでにバインドされている場合
        InvalidAttributesException - サブコンテキストの作成に必須属性の指定が必要な場合
        NamingException - ネーミング例外が発生した場合
        関連項目:
        createSubcontext(String), DirContext.createSubcontext(javax.naming.Name, javax.naming.directory.Attributes)
      • createSubcontext

        Context createSubcontext​(String name)
                          throws NamingException
        新しいコンテキストを作成してバインドします。 詳細は、createSubcontext(Name)を参照してください。
        パラメータ:
        name - 作成するコンテキストの名前。空は不可
        戻り値:
        新しく作成されたコンテキスト
        例外:
        NameAlreadyBoundException - 名前がすでにバインドされている場合
        InvalidAttributesException - サブコンテキストの作成に必須属性の指定が必要な場合
        NamingException - ネーミング例外が発生した場合
      • lookupLink

        Object lookupLink​(Name name)
                   throws NamingException
        名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。 nameにバインドされたオブジェクトがリンクでない場合は、オブジェクト自体を返します。
        パラメータ:
        name - 検索するオブジェクトの名前
        戻り値:
        終端リンク(存在する場合)のあとにない、nameにバインドされたオブジェクト。
        例外:
        NamingException - ネーミング例外が発生した場合
        関連項目:
        lookupLink(String)
      • lookupLink

        Object lookupLink​(String name)
                   throws NamingException
        名前の終端の基本コンポーネントを除くリンクをともなう、名前付きオブジェクトを取得します。 詳細は、lookupLink(Name)を参照してください。
        パラメータ:
        name - 検索するオブジェクトの名前
        戻り値:
        終端リンク(存在する場合)のあとにない、nameにバインドされたオブジェクト
        例外:
        NamingException - ネーミング例外が発生した場合
      • getNameParser

        NameParser getNameParser​(Name name)
                          throws NamingException
        名前付きコンテキストに関連したパーサーを取得します。 名前空間の連合では、さまざまなネーミング・システムで名前の構文が構文解析されます。 アプリケーションからこのメソッドを使用すれば、特定のネーミング・システムのネーミング変換によって名前を基本コンポーネントに構文解析するパーサーを取得できます。 どの単一のネーミング・システム内でも、このメソッドによって返されたNameParserオブジェクトは(equals()テストを使用して)等しくなければいけません。
        パラメータ:
        name - パーサーの取得元のコンテキストの名前
        戻り値:
        複合名の構文を構文解析して基本コンポーネントにする名前のパーサー
        例外:
        NamingException - ネーミング例外が発生した場合
        関連項目:
        getNameParser(String), CompoundName
      • getNameParser

        NameParser getNameParser​(String name)
                          throws NamingException
        名前付きコンテキストに関連したパーサーを取得します。 詳細は、getNameParser(Name)を参照してください。
        パラメータ:
        name - パーサーの取得元のコンテキストの名前
        戻り値:
        複合名の構文を構文解析して基本コンポーネントにする名前のパーサー
        例外:
        NamingException - ネーミング例外が発生した場合
      • composeName

        Name composeName​(Name name,
                         Name prefix)
                  throws NamingException
        このコンテキストを基準にした名前を持つこのコンテキストの名前を変換します。 このコンテキストに関連した名前(name)、上位コンテキストの1つを基準にしたこのコンテキストの名前(prefix)を指定すると、このメソッドは、関連するネーミング・システムに該当する構文を使用して、2つの名前の複合を返します。 つまり、nameによって、このコンテキストに関連してオブジェクトに名前を付ける場合、結果は同じオブジェクトの名前になりますが、上位コンテキストに関連しています。 名前はnullにできません。

        たとえば、このコンテキストが初期コンテキストに関連して"wiz.com"と命名された場合、

          composeName("east", "wiz.com")  
        上記は、"east.wiz.com"を返します。 このコンテキストの名前がorg/researchの場合、
          composeName("user/jane", "org/research")        
        上記は"org/research/user/jane"を返し、
          composeName("user/jane", "research")    
        上記は"research/user/jane"を返します。

        パラメータ:
        name - このコンテキストを基準にした名前
        prefix - いずれかの上位コンテキストを基準にした、このコンテキストの名前
        戻り値:
        prefixnameの変換
        例外:
        NamingException - ネーミング例外が発生した場合
        関連項目:
        composeName(String, String)
      • composeName

        String composeName​(String name,
                           String prefix)
                    throws NamingException
        このコンテキストを基準にした名前を持つこのコンテキストの名前を変換します。 詳細は、composeName(Name, Name)を参照してください。
        パラメータ:
        name - このコンテキストを基準にした名前
        prefix - いずれかの上位コンテキストを基準にした、このコンテキストの名前
        戻り値:
        prefixnameの変換
        例外:
        NamingException - ネーミング例外が発生した場合
      • addToEnvironment

        Object addToEnvironment​(String propName,
                                Object propVal)
                         throws NamingException
        このコンテキストの環境に、新しい環境プロパティを追加します。 プロパティがすでに存在する場合、値は上書きされます。 環境プロパティの詳細は、クラスの説明を参照してください。
        パラメータ:
        propName - 追加する環境プロパティの名前。nullは不可
        propVal - 追加するプロパティの値。nullは不可
        戻り値:
        プロパティの以前の値、またはプロパティが以前は環境になかった場合はnull
        例外:
        NamingException - ネーミング例外が発生した場合
        関連項目:
        getEnvironment(), removeFromEnvironment(String)
      • removeFromEnvironment

        Object removeFromEnvironment​(String propName)
                              throws NamingException
        このコンテキストの環境から環境プロパティを削除します。 環境プロパティの詳細は、クラスの説明を参照してください。
        パラメータ:
        propName - 削除する環境プロパティの名前。nullは不可
        戻り値:
        プロパティの以前の値、またはプロパティが環境になかった場合はnull
        例外:
        NamingException - ネーミング例外が発生した場合
        関連項目:
        getEnvironment(), addToEnvironment(String, Object)
      • getEnvironment

        Hashtable<?,​?> getEnvironment()
                                     throws NamingException
        このコンテキストで有効な環境を取得します。 環境プロパティの詳細は、クラスの説明を参照してください。

        呼出し元が、返されるオブジェクトを変更してはいけません。そのコンテキストへの影響は未定義です。 このコンテキストの環境は、addToEnvironment()removeFromEnvironment()を使用して変更できます。

        戻り値:
        このコンテキストの環境。null以外
        例外:
        NamingException - ネーミング例外が発生した場合
        関連項目:
        addToEnvironment(String, Object), removeFromEnvironment(String)
      • close

        void close()
            throws NamingException
        このコンテキストを閉じます。 このメソッドでは、ガベージ・コレクタによって自動的に解放されるまで待機するのではなく、このコンテキストのリソースがただちに解放されます。

        このメソッドはべき等です。すでに閉じられたコンテキストでこのメソッドを呼び出しても、効果はありません。 閉じられたコンテキストで他のメソッドを呼び出すことはできません。結果は未定義の動作になります。

        例外:
        NamingException - ネーミング例外が発生した場合
      • getNameInNamespace

        String getNameInNamespace()
                           throws NamingException
        独自の名前空間でこのコンテキストの完全な名前を取得します。

        多くのネーミング・サービスには、各名前空間のオブジェクトに対する「完全な名前」の概念があります。 たとえば、LDAPエントリには識別名があり、DNSレコードには完全指定名があります。 このメソッドによって、クライアント・アプリケーションでこの名前を取得できます。 このメソッドで返される文字列は、JNDI合成名ではなく、コンテキスト・メソッドに直接渡すことはできません。 フル・ネームの概念が意味を持たないネーミング・システムでは、OperationNotSupportedExceptionがスローされます。

        戻り値:
        独自の名前空間に対するこのコンテキストの名前。null以外
        例外:
        OperationNotSupportedException - ネーミング・システムにフル・ネームの概念がない場合
        NamingException - ネーミング例外が発生した場合
        導入されたバージョン:
        1.3