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

クラスInitialDirContext

java.lang.Object
javax.naming.InitialContext
javax.naming.directory.InitialDirContext
すべての実装されたインタフェース:
Context, DirContext
直系の既知のサブクラス:
InitialLdapContext

public class InitialDirContext extends InitialContext implements DirContext
このクラスは、ディレクトリ操作を実行するための開始コンテキストです。 InitialContextのクラスについての記述(同期コンテキストを含む)が適用されます。
導入されたバージョン:
1.3
関連項目:
  • コンストラクタの詳細

    • InitialDirContext

      protected InitialDirContext(boolean lazy) throws NamingException
      初期化しないというオプションを持つ初期DirContextを構築します。 これは、InitialDirContextコンストラクタの呼出し時に環境パラメータの値がまだわからない場合に、サブクラスのコンストラクタによって使用される場合があります。 サブクラスのコンストラクタは、このコンストラクタをコールし、環境の値をコンピュートし、init()をコールしてから戻ります。
      パラメータ:
      lazy - trueは、初期DirContextを初期化しないことを意味します。falseは、new InitialDirContext()をコールすることと同じです
      例外:
      NamingException - ネーミング例外が発生した場合
      導入されたバージョン:
      1.3
      関連項目:
    • InitialDirContext

      public InitialDirContext() throws NamingException
      初期DirContextを構築します。 環境プロパティは指定されません。 new InitialDirContext(null)と等価です。
      例外:
      NamingException - ネーミング例外が発生した場合
      関連項目:
    • InitialDirContext

      public InitialDirContext(Hashtable<?,?> environment) throws NamingException
      指定した環境を使用して初期DirContextを構築します。 環境プロパティについては、javax.naming.InitialContextクラスの説明を参照してください。

      指定された環境のjava.naming.provider.urlプロパティがLDAPプロトコルを使用してURL (またはUrlのリスト)で構成されている場合、結果のLdapContextは構成されたLdapDnsProvidersによって解決されたLDAPサーバーを使用します:

      1. Ldapプロトコルを使用してjava.naming.provider.urlで作成された最初のInitialDirContextである場合、ServiceLoaderメカニズムを使用して、システム・クラス・ローダーを使用してLdapDnsProvider実装を検索します。 プロバイダが配置される順序は実装に固有で、実装は位置しているプロバイダを自由にキャッシュできます。
      2. 各プロバイダのlookupEndpointsメソッドは、インスタンス化されると、プロバイダが空でないかすべてのプロバイダが使い果たされるまで、java.naming.provider.urlプロパティの各URLと環境を組み合せて1回起動されます。 LdapDnsProvidersのいずれにも空でないresultが戻されない場合は、エンドポイントの判別がベスト・エフォートに試みられます。 LdapDnsProviderのロード時または呼出し時にServiceConfigurationErrorErrorまたはRuntimeExceptionがスローされた場合、呼出し側のスレッドに伝播されます。

      このコンストラクタは、environmentの変更や参照の保存は行いませんが、クローンの保存は可能です。 呼出し元は、environmentがコンストラクタに渡された後、変更可能なキーおよび値を変更しないでください。

      パラメータ:
      environment - 初期のDirContextを作成するために使用される環境。 nullは空の環境を示す。
      例外:
      NamingException - ネーミング例外が発生した場合
  • メソッドの詳細

    • getAttributes

      public Attributes getAttributes(String name) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きオブジェクトに関連付けられている属性をすべて取得します。 詳細は、DirContext.getAttributes(Name)を参照してください。
      定義:
      getAttributes、インタフェースDirContext
      パラメータ:
      name - 属性の取得元のオブジェクトの名前
      戻り値:
      nameに関連付けられている属性のセット
      例外:
      NamingException - ネーミング例外が発生した場合
    • getAttributes

      public Attributes getAttributes(String name, String[] attrIds) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きオブジェクトに関連付けられている属性で選択されたものを取得します。 詳細は、DirContext.getAttributes(Name, String[])を参照してください。
      定義:
      getAttributes、インタフェースDirContext
      パラメータ:
      name - 属性の取得元のオブジェクトの名前
      attrIds - 取得する属性の識別子。nullはすべての属性が取得されることを示す。空の配列は何も取得されないことを示す。
      戻り値:
      要求された属性。nullは不可
      例外:
      NamingException - ネーミング例外が発生した場合
    • getAttributes

      public Attributes getAttributes(Name name) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きオブジェクトに関連付けられている属性をすべて取得します。 属性モデル、属性型名、および操作属性については、クラスの説明を参照してください。
      定義:
      getAttributes、インタフェースDirContext
      パラメータ:
      name - 属性の取得元のオブジェクトの名前
      戻り値:
      nameに関連付けられている属性のセット。 名前に属性がない場合、空の属性セットを返し、nullになることはない。
      例外:
      NamingException - ネーミング例外が発生した場合
      関連項目:
    • getAttributes

      public Attributes getAttributes(Name name, String[] attrIds) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きオブジェクトに関連付けられている属性で選択されたものを取得します。 属性モデル、属性型名、および操作属性については、クラスの説明を参照してください。

      指定された属性をオブジェクトが持っていない場合、ディレクトリは存在しない属性を無視し、オブジェクトが持っている要求された属性を返します。

      ディレクトリは要求された数より多い属性を返すことがあります(クラスの説明にあるAttribute Type Namesを参照)が、任意の無関連な属性を返すことは許可されていません。

      クラスの説明にあるOperational Attributesも参照してください。

      定義:
      getAttributes、インタフェースDirContext
      パラメータ:
      name - 属性の取得元のオブジェクトの名前
      attrIds - 取得する属性の識別子。nullはすべての属性が取得されることを示す。空の配列は何も取得されないことを示す。
      戻り値:
      要求された属性。nullは不可
      例外:
      NamingException - ネーミング例外が発生した場合
    • modifyAttributes

      public void modifyAttributes(String name, int mod_op, Attributes attrs) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きオブジェクトに関連付けられている属性を変更します。 詳細は、DirContext.modifyAttributes(Name, int, Attributes)を参照してください。
      定義:
      modifyAttributes、インタフェースDirContext
      パラメータ:
      name - 属性が更新されるオブジェクトの名前
      mod_op - 変更操作。ADD_ATTRIBUTEREPLACE_ATTRIBUTEREMOVE_ATTRIBUTEのうちのいずれか。
      attrs - 変更に使用される属性。nullは不可
      例外:
      AttributeModificationException - 変更を正常に完了できない場合
      NamingException - ネーミング例外が発生した場合
    • modifyAttributes

      public void modifyAttributes(Name name, int mod_op, Attributes attrs) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きオブジェクトに関連付けられている属性を変更します。 変更の順序は指定されません。 可能な場合、変更は基本的に行われます。
      定義:
      modifyAttributes、インタフェースDirContext
      パラメータ:
      name - 属性が更新されるオブジェクトの名前
      mod_op - 変更操作。ADD_ATTRIBUTEREPLACE_ATTRIBUTEREMOVE_ATTRIBUTEのうちのいずれか。
      attrs - 変更に使用される属性。nullは不可
      例外:
      AttributeModificationException - 変更を正常に完了できない場合
      NamingException - ネーミング例外が発生した場合
      関連項目:
    • modifyAttributes

      public void modifyAttributes(String name, ModificationItem[] mods) throws NamingException
      インタフェースからコピーされた説明: DirContext
      順序付けされた変更リストを使用して、指定されたオブジェクトに関連付けられている属性を変更します。 詳細は、DirContext.modifyAttributes(Name, ModificationItem[])を参照してください。
      定義:
      modifyAttributes、インタフェースDirContext
      パラメータ:
      name - 属性が更新されるオブジェクトの名前
      mods - 実行される変更の順序。nullは不可
      例外:
      AttributeModificationException - 変更を正常に完了できない場合
      NamingException - ネーミング例外が発生した場合
    • modifyAttributes

      public void modifyAttributes(Name name, ModificationItem[] mods) throws NamingException
      インタフェースからコピーされた説明: DirContext
      順序付けされた変更リストを使用して、指定されたオブジェクトに関連付けられている属性を変更します。 変更は指定された順序で行われます。 各変更は変更操作コードおよび操作する属性を指定します。 可能な場合、変更は基本的に行われます。
      定義:
      modifyAttributes、インタフェースDirContext
      パラメータ:
      name - 属性が更新されるオブジェクトの名前
      mods - 実行される変更の順序。nullは不可
      例外:
      AttributeModificationException - 変更を正常に完了できない場合
      NamingException - ネーミング例外が発生した場合
      関連項目:
    • bind

      public void bind(String name, Object obj, Attributes attrs) throws NamingException
      インタフェースからコピーされた説明: DirContext
      関連付けられている属性とともに、名前をオブジェクトにバインドします。 詳細は、DirContext.bind(Name, Object, Attributes)を参照してください。
      定義:
      bind、インタフェースDirContext
      パラメータ:
      name - バインドする名前。空は不可
      obj - バインドするオブジェクト。nullの可能性がある
      attrs - バインディングに関連付ける属性
      例外:
      NameAlreadyBoundException - 名前がすでにバインドされている場合
      InvalidAttributesException - バインディングの一部の「必須」属性が提供されていない場合
      NamingException - ネーミング例外が発生した場合
    • bind

      public void bind(Name name, Object obj, Attributes attrs) throws NamingException
      インタフェースからコピーされた説明: DirContext
      関連付けられている属性とともに、名前をオブジェクトにバインドします。 attrsがnullの場合、結果のバインディングでは、objDirContextの場合はobjに関連付けられた属性が設定され、それ以外の場合は属性は関連付けられません。 attrsがnull以外の場合、結果のバインディングの属性としてattrsが設定されます。objに関連付けられた属性は無視されます。
      定義:
      bind、インタフェースDirContext
      パラメータ:
      name - バインドする名前。空は不可
      obj - バインドするオブジェクト。nullの可能性がある
      attrs - バインディングに関連付ける属性
      例外:
      NameAlreadyBoundException - 名前がすでにバインドされている場合
      InvalidAttributesException - バインディングの一部の「必須」属性が提供されていない場合
      NamingException - ネーミング例外が発生した場合
      関連項目:
    • rebind

      public void rebind(String name, Object obj, Attributes attrs) throws NamingException
      インタフェースからコピーされた説明: DirContext
      関連付けられている属性とともに名前をオブジェクトにバインドし、既存のバインディングをオーバーライドします。 詳細は、DirContext.rebind(Name, Object, Attributes)を参照してください。
      定義:
      rebind、インタフェースDirContext
      パラメータ:
      name - バインドする名前。空は不可
      obj - バインドするオブジェクト。nullの可能性がある
      attrs - バインディングに関連付ける属性
      例外:
      InvalidAttributesException - バインディングの一部の「必須」属性が提供されていない場合
      NamingException - ネーミング例外が発生した場合
    • rebind

      public void rebind(Name name, Object obj, Attributes attrs) throws NamingException
      インタフェースからコピーされた説明: DirContext
      関連付けられている属性とともに名前をオブジェクトにバインドし、既存のバインディングをオーバーライドします。 attrsがnullで、objDirContextの場合、objの属性が使用されます。 attrsがnullで、objDirContextでない場合、ディレクトリにすでにバインドされているオブジェクトに関連付けられた既存の属性は変更されません。 attrsがnullでない場合、ディレクトリにすでにバインドされているオブジェクトに関連付けられた既存の属性が削除され、attrsが名前付きオブジェクトに関連付けられます。 objDirContextで、attrsがnull以外の場合、objの属性は無視されます。
      定義:
      rebind、インタフェースDirContext
      パラメータ:
      name - バインドする名前。空は不可
      obj - バインドするオブジェクト。nullの可能性がある
      attrs - バインディングに関連付ける属性
      例外:
      InvalidAttributesException - バインディングの一部の「必須」属性が提供されていない場合
      NamingException - ネーミング例外が発生した場合
      関連項目:
    • createSubcontext

      public DirContext createSubcontext(String name, Attributes attrs) throws NamingException
      インタフェースからコピーされた説明: DirContext
      関連付けられている属性とともに、名前をオブジェクトにバインドします。 詳細は、DirContext.createSubcontext(Name, Attributes)を参照してください。
      定義:
      createSubcontext、インタフェースDirContext
      パラメータ:
      name - 作成するコンテキストの名前。空は不可
      attrs - 新しく作成されたコンテキストに関連付ける属性
      戻り値:
      新しく作成されたコンテキスト
      例外:
      NameAlreadyBoundException - 名前がすでにバインドされている場合
      InvalidAttributesException - attrsに、作成に必要な必須属性の一部が含まれていない場合
      NamingException - ネーミング例外が発生した場合
    • createSubcontext

      public DirContext createSubcontext(Name name, Attributes attrs) throws NamingException
      インタフェースからコピーされた説明: DirContext
      関連付けられている属性とともに、名前をオブジェクトにバインドします。 このメソッドは指定した名前で新しいサブコンテキストを作成し、そのサブコンテキストを(名前の末端にあるものを除くすべての不可分の成分)ターゲット・コンテキストでバインドし、提供された属性を新しく作成されたオブジェクトに関連付けます。 すべての中間コンテキストおよびターゲット・コンテキストがすでに存在している必要があります。 attrsがnullの場合、このメソッドはContext.createSubcontext()と同等です。
      定義:
      createSubcontext、インタフェースDirContext
      パラメータ:
      name - 作成するコンテキストの名前。空は不可
      attrs - 新しく作成されたコンテキストに関連付ける属性
      戻り値:
      新しく作成されたコンテキスト
      例外:
      NameAlreadyBoundException - 名前がすでにバインドされている場合
      InvalidAttributesException - attrsに、作成に必要な必須属性の一部が含まれていない場合
      NamingException - ネーミング例外が発生した場合
      関連項目:
    • getSchema

      public DirContext getSchema(String name) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きオブジェクトに関連したスキーマを取得します。 詳細は、DirContext.getSchema(Name)を参照してください。
      定義:
      getSchema、インタフェースDirContext
      パラメータ:
      name - スキーマが取得されるオブジェクトの名前
      戻り値:
      コンテキストに関連付けられるスキーマ。nullは不可
      例外:
      OperationNotSupportedException - スキーマがサポートされていない場合
      NamingException - ネーミング例外が発生した場合
    • getSchema

      public DirContext getSchema(Name name) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きオブジェクトに関連したスキーマを取得します。 スキーマは、名前空間の構造と、その中に保存された属性に関する規則を説明します。 スキーマは、ディレクトリに追加できるオブジェクトの型とそのオブジェクトを追加する場所、オブジェクトが持てる必須属性と任意の属性を指定します。 スキーマのサポート範囲はディレクトリに固有です。

      このメソッドは、指定されたオブジェクトに適用できるスキーマ情報ツリーのルートを返します。 指定されたオブジェクト(またはディレクトリ全体)のいくつかが、同じスキーマを共有する場合があります。

      スキーマ・ツリーの構造と内容、スキーマ・ツリーの内容の変更許可、こうした変更のディレクトリへの影響などの問題は、ベースとなるディレクトリによって異なります。

      定義:
      getSchema、インタフェースDirContext
      パラメータ:
      name - スキーマが取得されるオブジェクトの名前
      戻り値:
      コンテキストに関連付けられるスキーマ。nullは不可
      例外:
      OperationNotSupportedException - スキーマがサポートされていない場合
      NamingException - ネーミング例外が発生した場合
    • getSchemaClassDefinition

      public DirContext getSchemaClassDefinition(String name) throws NamingException
      インタフェースからコピーされた説明: DirContext
      指定されたオブジェクトのクラス定義のスキーマ・オブジェクトを含むコンテキストを取得します。 詳細は、DirContext.getSchemaClassDefinition(Name)を参照してください。
      定義:
      getSchemaClassDefinition、インタフェースDirContext
      パラメータ:
      name - オブジェクト・クラス定義が取得されるオブジェクトの名前
      戻り値:
      指定されたオブジェクトのクラス定義を含むDirContext。null以外
      例外:
      OperationNotSupportedException - スキーマがサポートされていない場合
      NamingException - ネーミング例外が発生した場合
    • getSchemaClassDefinition

      public DirContext getSchemaClassDefinition(Name name) throws NamingException
      インタフェースからコピーされた説明: DirContext
      指定されたオブジェクトのクラス定義のスキーマ・オブジェクトを含むコンテキストを取得します。

      ディレクトリ・スキーマ内にある情報のカテゴリの1つにクラス定義があります。 「オブジェクト・クラス」の定義は、オブジェクトのと、そのオブジェクトが備える必要のある、または備えることのできる(必須およびオプションの)属性を指定します。 ここで言う「オブジェクト・クラス」は、Java的な意味ではなく、ディレクトリ的な意味で使われています。 たとえば、指定されたオブジェクトが"個人"クラスのディレクトリ・オブジェクトである場合、getSchemaClassDefinition()は、"個人"の(directory's)オブジェクト・クラス定義を表すDirContextを返します。

      オブジェクト・クラス定義から取得できる情報は、ディレクトリ依存です。

      JNDI 1.2より前は、このメソッドは指定されたオブジェクトのクラス定義を表す単一のスキーマ・オブジェクトを返していました。 JNDI 1.2以降、このメソッドは、指定されたオブジェクトのクラス定義をすべて含むDirContextを返します。

      定義:
      getSchemaClassDefinition、インタフェースDirContext
      パラメータ:
      name - オブジェクト・クラス定義が取得されるオブジェクトの名前
      戻り値:
      指定されたオブジェクトのクラス定義を含むDirContext。null以外
      例外:
      OperationNotSupportedException - スキーマがサポートされていない場合
      NamingException - ネーミング例外が発生した場合
    • search

      public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes) throws NamingException
      インタフェースからコピーされた説明: DirContext
      指定された属性のセットを含むオブジェクトを単一コンテキストで検索します。 詳細は、DirContext.search(Name, Attributes)を参照してください。
      定義:
      search、インタフェースDirContext
      パラメータ:
      name - 検索するコンテキストの名前
      matchingAttributes - 検索する属性
      戻り値:
      SearchResultオブジェクトの列挙
      例外:
      NamingException - ネーミング例外が発生した場合
    • search

      public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes) throws NamingException
      インタフェースからコピーされた説明: DirContext
      指定された属性のセットを含むオブジェクトを単一コンテキストで検索します。 このメソッドはそのオブジェクトのすべての属性を返します。 これは、attributesToReturnパラメータとしてnullをsearch(Name, Attributes, String[])メソッドに渡すのと同じです。
      詳細は、DirContext.search(Name, Attributes, String[])を参照してください。
      定義:
      search、インタフェースDirContext
      パラメータ:
      name - 検索するコンテキストの名前
      matchingAttributes - 検索する属性
      戻り値:
      SearchResultオブジェクトの列挙
      例外:
      NamingException - ネーミング例外が発生した場合
      関連項目:
    • search

      public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
      インタフェースからコピーされた説明: DirContext
      指定された属性のセットを含むオブジェクトを単一コンテキストで検索し、選択した属性を取得します。 詳細は、DirContext.search(Name, Attributes, String[])を参照してください。
      定義:
      search、インタフェースDirContext
      パラメータ:
      name - 検索するコンテキストの名前
      matchingAttributes - 検索する属性
      attributesToReturn - 返す属性
      戻り値:
      SearchResultオブジェクトのnull以外の列挙
      例外:
      NamingException - ネーミング例外が発生した場合
    • search

      public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
      インタフェースからコピーされた説明: DirContext
      指定された属性のセットを含むオブジェクトを単一コンテキストで検索し、選択した属性を取得します。 検索は、デフォルトのSearchControls設定を使用して実行されます。

      オブジェクトが選択されるには、matchingAttributes内の各属性がそのオブジェクトのいずれかの属性に一致している必要があります。 matchingAttributesが空またはnullの場合は、ターゲット・コンテキスト内のすべてのオブジェクトが返されます。

      matchingAttributes内の属性A1とオブジェクトの属性A2が同じ識別子を持っており、A1の各値がA2のいずれかの値に等しい場合、A1A2に一致すると見なされます。 これは、値の順序は重要でなく、A1にはない「余分な」値が比較に影響を与えることなくA2に含まれている可能性があることを示しています。 また、A1に値が含まれていない場合は、一致しているかどうかをテストすることが、同じ識別子を持つ属性A2が存在するかどうかをテストすることと同等であることも示しています。

      属性値を比較するのに使用される「同等」の詳細な定義は、ベースとなるディレクトリ・サービスによって定義されます。 これは、たとえばObject.equalsメソッドを使用することも、スキーマを使用して別の同等操作を指定することもあります。 同等以外の操作に基づくマッチング(部分文字列の比較など)には、searchメソッドのフィルタ引数を取るバージョンを使用します。

      このDirContextに変更が加えられると、このメソッドへの以前のコールによって返される列挙への影響は未定義です。

      指定された属性をオブジェクトが持っていない場合、ディレクトリは存在しない属性を無視し、オブジェクトが持っている要求された属性を返します。

      ディレクトリは要求された数より多い属性を返すことがあります(クラスの説明にあるAttribute Type Namesを参照)が、任意の無関連な属性を返すことは許可されていません。

      クラスの説明にあるOperational Attributesも参照してください。

      定義:
      search、インタフェースDirContext
      パラメータ:
      name - 検索するコンテキストの名前
      matchingAttributes - 検索する属性。 空またはnullの場合、ターゲット・コンテキストのすべてのオブジェクトが返される。
      attributesToReturn - 返す属性。nullはすべての属性が返されることを示す。空の配列は何も返されないことを示す。
      戻り値:
      SearchResultオブジェクトのnull以外の列挙。 SearchResultには、attributesToReturnで識別される属性と、nameで指定されたコンテキストに対して相対的に指定された対応するオブジェクトの名前が含まれます。
      例外:
      NamingException - ネーミング例外が発生した場合
      関連項目:
    • search

      public NamingEnumeration<SearchResult> search(String name, String filter, SearchControls cons) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きコンテキストまたは名前付きオブジェクトで、指定された検索フィルタを満たすエントリを検索します。 検索制御によって指定されたように検索を行います。 詳細は、DirContext.search(Name, String, SearchControls)を参照してください。
      定義:
      search、インタフェースDirContext
      パラメータ:
      name - 検索するコンテキストまたはオブジェクトの名前
      filter - 検索に使用するフィルタ式。nullは不可
      cons - 検索を制御する検索コントロール。 nullの場合、デフォルトの検索コントロールは((new SearchControls())と同等)が使用されます。
      戻り値:
      フィルタを満たすオブジェクトのSearchResultの列挙。
      例外:
      InvalidSearchFilterException - 指定された検索フィルタが、ベースとなるディレクトリによってサポートまたは認識されていない場合
      InvalidSearchControlsException - 検索コントロールに無効な設定が含まれている場合
      NamingException - ネーミング例外が発生した場合
    • search

      public NamingEnumeration<SearchResult> search(Name name, String filter, SearchControls cons) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きコンテキストまたは名前付きオブジェクトで、指定された検索フィルタを満たすエントリを検索します。 検索制御によって指定されたように検索を行います。

      filterの形式と解釈は、RFC 2254に従います。このRFCでは、attrvalueに対して次の解釈が示されています。

      attrは属性の識別子です。

      valueは属性の値文字列表現です。 属性値へのこの文字列表現の平行移動は、ディレクトリに固有です。

      たとえば、「someCount=127」というアサーションでは、attrが「someCount」であり、valueが「127」です。 属性ID (「someCount」)、および場合によってはそのスキーマに基づいて、プロバイダは属性の値が整数型であることを判別します。 プロバイダは続いて文字列「127」を適切に構文解析します。

      フィルタ文字列のASCII以外の文字は、該当するJava (Unicode)文字で表し、UTF-8オクテットへのエンコードはしません。 あるいは、RFC 2254で述べられている「バックスラッシュ - 16進数字」表記法も使用できます。

      ディレクトリがその属性の一部またはすべての文字列表現をサポートしていない場合は、代わりに、Objectsの形式のフィルタ引数を受け入れるsearchの形式を使用できます。 このようなディレクトリのサービス・プロバイダは、フィルタ引数をフィルタ評価のそのサービス特定の表現に平行移動します。 search(Name, String, Object[], SearchControls)を参照してください。

      RFC 2254は、部分文字列一致、等価、近似一致、より大、より小を含む所定の演算子を定義します。 これらの演算子は、対応するセマンティックスとともにベースとなるディレクトリにある演算子にマップされます。 たとえば、同等演算子の場合、ディレクトリはフィルタの属性の「同等」を定義する一致規則を持っているとします。 この規則を使用して、フィルタで指定された属性と、ディレクトリのオブジェクトの属性とが同等かどうかを調べます。 同様に、ディレクトリが順序付けの規則を持っていれば、この規則を使用して「より大」および「より小」の比較をします。

      RFC 2254で定義されている演算子のすべてをすべての属性に適用できるわけではありません。 演算子を適用できない場合は、例外InvalidSearchFilterExceptionがスローされます。

      結果は、SearchResultsの列挙で返されます。 SearchResultには、オブジェクトの名前と、オブジェクト(SearchResultを参照してください)に関するその他の情報が含まれます。 この名前は、(nameパラメータで指定された)検索のターゲット・コンテキストに関連しているか、またはURL文字列であるかのどちらかです。 ターゲット・コンテキストが列挙に含まれている場合(consによってSearchControls.OBJECT_SCOPEまたはSearchControls.SUBSTREE_SCOPEの検索範囲が指定されているときは可能性がある)、その名前は空の文字列です。 cons引数で属性が返されることが指定されている場合、SearchResultには、一致するオブジェクトの属性を含めることもできます。

      要求された属性をオブジェクトが持っていない場合、その存在しない属性は無視されます。 オブジェクトが持っている要求された属性が返されます。

      ディレクトリは要求された数より多い属性を返すことがあります(クラスの説明にあるAttribute Type Namesを参照)が、任意の無関連な属性を返すことは許可されていません。

      クラスの説明にあるOperational Attributesも参照してください。

      定義:
      search、インタフェースDirContext
      パラメータ:
      name - 検索するコンテキストまたはオブジェクトの名前
      filter - 検索に使用するフィルタ式。nullは不可
      cons - 検索を制御する検索コントロール。 nullの場合、デフォルトの検索コントロールは((new SearchControls())と同等)が使用されます。
      戻り値:
      フィルタを満たすオブジェクトのSearchResultの列挙。NULL以外
      例外:
      InvalidSearchFilterException - 指定された検索フィルタが、ベースとなるディレクトリによってサポートまたは認識されていない場合
      InvalidSearchControlsException - 検索コントロールに無効な設定が含まれている場合
      NamingException - ネーミング例外が発生した場合
      関連項目:
    • search

      public NamingEnumeration<SearchResult> search(String name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きコンテキストまたは名前付きオブジェクトで、指定された検索フィルタを満たすエントリを検索します。 検索制御によって指定されたように検索を行います。 詳細は、DirContext.search(Name, String, Object[], SearchControls)を参照してください。
      定義:
      search、インタフェースDirContext
      パラメータ:
      name - 検索するコンテキストまたはオブジェクトの名前
      filterExpr - 検索に使用するフィルタ式。 この式には、形式「{i}」の変数(iは負にならない整数)が含まれる可能性がある。 nullは不可。
      filterArgs - filterExpr内の変数を置換する引数の配列。 filterArgs[i]の値が各「{i}」を置換する。 nullの場合、空の配列と同等。
      cons - 検索を制御する検索コントロール。 nullの場合、デフォルトの検索コントロールは((new SearchControls())と同等)が使用されます。
      戻り値:
      フィルタを満たすオブジェクトのSearchResultの列挙。NULL以外
      例外:
      InvalidSearchControlsException - consに無効な設定が含まれている場合
      InvalidSearchFilterException - filterArgsを指定したfilterExprが無効な検索フィルタを表す場合
      NamingException - ネーミング例外が発生した場合
    • search

      public NamingEnumeration<SearchResult> search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons) throws NamingException
      インタフェースからコピーされた説明: DirContext
      名前付きコンテキストまたは名前付きオブジェクトで、指定された検索フィルタを満たすエントリを検索します。 検索制御によって指定されたように検索を行います。

      filterExprの解釈は、RFC 2254に基づいています。 これにはさらに、filterArgs配列内のオブジェクトを参照する形式{i}の変数(iは整数)が含まれる可能性があります。 filterExprの解釈は、それ以外の点では、メソッドsearch(Name, String, SearchControls)filterパラメータの解釈と同じです。

      変数{i}は、検索フィルタ内にある場合、フィルタ引数filterArgs[i]がその場所で使用されることを示します。 このような変数は、attrvalue、またはmatchingrule生成がRFC 2254、セクション4のフィルタ文法内で現れる場所ならどこでも使用できます。 文字列値のフィルタ引数で変数を置換する場合、フィルタは変数の代わりに文字列が指定されたかのように解釈され、フィルタ内で特殊な意味を持つ文字('*'など)はすべてRFC 2254の規則に従ってエスケープされています。

      属性の一部または全部に文字列表現を使用しないディレクトリの場合、属性値に対応するフィルタ引数はString以外の型の可能性があります。 たとえば、構造化されていない2進値の属性をサポートするディレクトリは、バイト配列をフィルタ引数として受け入れます。 ほかの型のフィルタ引数の解釈がある場合、解釈はそのディレクトリのサービス・プロバイダによって判別され、サービス・プロバイダはフィルタ操作を、該当するセマンティックスとともにベースとなるディレクトリの操作にマップします。

      このメソッドは結果の列挙を返します。 列挙内の各要素には、オブジェクトの名前と、オブジェクトに関するその他の情報が含まれています(SearchResultを参照)。 この名前は、(nameパラメータで指定された)検索のターゲット・コンテキストに関連しているか、またはURL文字列であるかのどちらかです。 ターゲット・コンテキストが列挙に含まれている場合(consによってSearchControls.OBJECT_SCOPEまたはSearchControls.SUBSTREE_SCOPEの検索範囲が指定されているときは可能性がある)、その名前は空の文字列です。

      cons引数で属性が返されるように指定されている場合、SearchResultには一致するオブジェクトの属性も含まれる場合があります。

      要求された属性をオブジェクトが持っていない場合、その存在しない属性は無視されます。 オブジェクトが持っている要求された属性が返されます。

      ディレクトリは要求された数より多い属性を返すことがあります(クラスの説明にあるAttribute Type Namesを参照)が、任意の無関連な属性を返すことは許可されていません。

      無効な変数の置換を行う検索フィルタがこのメソッドに提供された場合、結果は定義されていません。 このDirContextに変更が行われた場合、変更前のこのメソッドに対する呼出しによって返された列挙の結果は、定義されていません。

      クラスの説明にあるOperational Attributesも参照してください。

      定義:
      search、インタフェースDirContext
      パラメータ:
      name - 検索するコンテキストまたはオブジェクトの名前
      filterExpr - 検索に使用するフィルタ式。 この式には、形式「{i}」の変数(iは負にならない整数)が含まれる可能性がある。 nullは不可。
      filterArgs - filterExpr内の変数を置換する引数の配列。 filterArgs[i]の値が各「{i}」を置換する。 nullの場合、空の配列と同等。
      cons - 検索を制御する検索コントロール。 nullの場合、デフォルトの検索コントロールは((new SearchControls())と同等)が使用されます。
      戻り値:
      フィルタを満たすオブジェクトのSearchResultの列挙。NULL以外
      例外:
      InvalidSearchControlsException - consに無効な設定が含まれている場合
      InvalidSearchFilterException - filterArgsを指定したfilterExprが無効な検索フィルタを表す場合
      NamingException - ネーミング例外が発生した場合
      関連項目: