JavaTM 2 Platform
Standard Ed. 5.0

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
関連項目:
InitialContext

フィールドの概要
 
クラス javax.naming.InitialContext から継承されたフィールド
defaultInitCtx, gotDefault, myProps
 
インタフェース javax.naming.directory.DirContext から継承されたフィールド
ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE
 
インタフェース javax.naming.Context から継承されたフィールド
APPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES
 
コンストラクタの概要
  InitialDirContext()
          初期 DirContext を構築します。
protected InitialDirContext(boolean lazy)
          初期化しないというオプションを持つ初期 DirContext を構築します。
  InitialDirContext(Hashtable<?,?> environment)
          指定した環境を使用して初期 DirContext を構築します。
 
メソッドの概要
 void bind(Name name, Object obj, Attributes attrs)
          関連付けられた属性とともに、名前をオブジェクトにバインドします。
 void bind(String name, Object obj, Attributes attrs)
          関連付けられた属性とともに、名前をオブジェクトにバインドします。
 DirContext createSubcontext(Name name, Attributes attrs)
          関連付けられた属性とともに、新しいコンテキストを作成してバインドします。
 DirContext createSubcontext(String name, Attributes attrs)
          関連付けられた属性とともに、名前をオブジェクトにバインドします。
 Attributes getAttributes(Name name)
          指定されたオブジェクトに関連付けられた属性をすべて取得します。
 Attributes getAttributes(Name name, String[] attrIds)
          指定されたオブジェクトに関連付けられた属性で選択されたものを取得します。
 Attributes getAttributes(String name)
          名前付きオブジェクトに関連付けられた属性をすべて取得します。
 Attributes getAttributes(String name, String[] attrIds)
          名前付きオブジェクトに関連付けられた属性で選択されたものを取得します。
 DirContext getSchema(Name name)
          指定されたオブジェクトに関連付けられたスキーマを取得します。
 DirContext getSchema(String name)
          名前付きオブジェクトに関連したスキーマを取得します。
 DirContext getSchemaClassDefinition(Name name)
          指定されたオブジェクトのクラス定義のスキーマオブジェクトを含むコンテキストを取得します。
 DirContext getSchemaClassDefinition(String name)
          名前付きオブジェクトのクラス定義のスキーマオブジェクトを含むコンテキストを取得します。
 void modifyAttributes(Name name, int mod_op, Attributes attrs)
          指定されたオブジェクトに関連付けられた属性を変更します。
 void modifyAttributes(Name name, ModificationItem[] mods)
          変更順指定リストを使用して、指定されたオブジェクトに関連付けられた属性を変更します。
 void modifyAttributes(String name, int mod_op, Attributes attrs)
          名前付きオブジェクトに関連付けられた属性を変更します。
 void modifyAttributes(String name, ModificationItem[] mods)
          順序付けされた変更リストを使用して、指定されたオブジェクトに関連付けられた属性を変更します。
 void rebind(Name name, Object obj, Attributes attrs)
          関連付けられた属性とともに名前をオブジェクトにバインドし、既存のバインディングをオーバーライドします。
 void rebind(String name, Object obj, Attributes attrs)
          関連付けられた属性とともに名前をオブジェクトにバインドし、既存のバインディングをオーバーライドします。
 NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes)
          指定された属性のセットを含むオブジェクトを単一コンテキストで検索します。
 NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes, String[] attributesToReturn)
          指定された属性のセットを含むオブジェクトを単一コンテキストで検索し、選択した属性を取得します。
 NamingEnumeration<SearchResult> search(Name name, String filterExpr, Object[] filterArgs, SearchControls cons)
          名前付きコンテキストまたは指定されたオブジェクトで、指定された検索フィルタを満たすエントリを検索します。
 NamingEnumeration<SearchResult> search(Name name, String filter, SearchControls cons)
          名前付きコンテキストまたは指定されたオブジェクトで、指定された検索フィルタを満たすエントリを検索します。
 NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes)
          指定された属性のセットを含むオブジェクトを単一コンテキストで検索します。
 NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes, String[] attributesToReturn)
          指定された属性のセットを含むオブジェクトを単一コンテキストで検索し、選択した属性を取得します。
 NamingEnumeration<SearchResult> search(String name, String filterExpr, Object[] filterArgs, SearchControls cons)
          名前付きコンテキストまたは名前付きオブジェクトで、指定された検索フィルタを満たすエントリを検索します。
 NamingEnumeration<SearchResult> search(String name, String filter, SearchControls cons)
          名前付きコンテキストまたは名前付きオブジェクトで、指定された検索フィルタを満たすエントリを検索します。
 
クラス javax.naming.InitialContext から継承されたメソッド
addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, getDefaultInitCtx, getEnvironment, getNameInNamespace, getNameParser, getNameParser, getURLOrDefaultInitCtx, getURLOrDefaultInitCtx, init, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
インタフェース javax.naming.Context から継承されたメソッド
addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, getEnvironment, getNameInNamespace, getNameParser, getNameParser, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind
 

コンストラクタの詳細

InitialDirContext

protected InitialDirContext(boolean lazy)
                     throws NamingException
初期化しないというオプションを持つ初期 DirContext を構築します。これは、InitialDirContext コンストラクタが呼び出されたときに環境パラメータの値が不明な場合に、サブクラスのコンストラクタにより使用されます。サブクラスのコンストラクタはこのコンストラクタを呼び出し、環境の値を計算して、値を返す前に init() を呼び出します。

パラメータ:
lazy - true は、初期 DirContext が初期化されないことを示す。false は new InitialDirContext() を呼び出すのと同じ
例外:
NamingException - ネーミング例外が発生した場合
導入されたバージョン:
1.3
関連項目:
InitialContext.init(Hashtable)

InitialDirContext

public InitialDirContext()
                  throws NamingException
初期 DirContext を構築します。環境プロパティは指定されません。new InitialDirContext(null) と同じです。

例外:
NamingException - ネーミング例外が発生した場合
関連項目:
InitialDirContext(Hashtable)

InitialDirContext

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

このコンストラクタでは、environment の変更または参照の保存は行われませんが、複製が保存されます。

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

getAttributes

public Attributes getAttributes(String name)
                         throws NamingException
インタフェース DirContext の記述:
名前付きオブジェクトに関連付けられた属性をすべて取得します。詳細は、DirContext.getAttributes(Name) を参照してください。

定義:
インタフェース DirContext 内の getAttributes
パラメータ:
name - 属性の取得元のオブジェクトの名前
戻り値:
name に関連付けられた属性のセット
例外:
NamingException - ネーミング例外が発生した場合

getAttributes

public Attributes getAttributes(String name,
                                String[] attrIds)
                         throws NamingException
インタフェース DirContext の記述:
名前付きオブジェクトに関連付けられた属性で選択されたものを取得します。詳細は、DirContext.getAttributes(Name, String[]) を参照してください。

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

getAttributes

public Attributes getAttributes(Name name)
                         throws NamingException
インタフェース DirContext の記述:
指定されたオブジェクトに関連付けられた属性をすべて取得します。属性モデル、属性型名、および操作属性については、クラスの説明を参照してください。

定義:
インタフェース DirContext 内の getAttributes
パラメータ:
name - 属性の取得元のオブジェクトの名前
戻り値:
name に関連付けられた属性のセット。名前に属性がない場合、空の属性セットを返し、null になることはない
例外:
NamingException - ネーミング例外が発生した場合
関連項目:
DirContext.getAttributes(String), DirContext.getAttributes(Name, String[])

getAttributes

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

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

ディレクトリは要求された以上の数の属性を返すことがあります (クラスの説明の「属性型名」参照) が、無関係な任意の属性を返すことはありません。

クラスの説明の「操作属性」 も参照してください。

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

modifyAttributes

public void modifyAttributes(String name,
                             int mod_op,
                             Attributes attrs)
                      throws NamingException
インタフェース DirContext の記述:
名前付きオブジェクトに関連付けられた属性を変更します。詳細は、DirContext.modifyAttributes(Name, int, Attributes) を参照してください。

定義:
インタフェース DirContext 内の modifyAttributes
パラメータ:
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 の記述:
指定されたオブジェクトに関連付けられた属性を変更します。変更の順序は指定されません。可能な場合、変更は基本的に行われます。

定義:
インタフェース DirContext 内の modifyAttributes
パラメータ:
name - 属性が変更されるオブジェクトの名前
mod_op - 変更操作、ADD_ATTRIBUTEREPLACE_ATTRIBUTEREMOVE_ATTRIBUTE のいずれか
attrs - 変更に使用される属性。null は不可
例外:
AttributeModificationException - 変更を完了できない場合
NamingException - ネーミング例外が発生した場合
関連項目:
DirContext.modifyAttributes(Name, ModificationItem[])

modifyAttributes

public void modifyAttributes(String name,
                             ModificationItem[] mods)
                      throws NamingException
インタフェース DirContext の記述:
順序付けされた変更リストを使用して、指定されたオブジェクトに関連付けられた属性を変更します。詳細は、DirContext.modifyAttributes(Name, ModificationItem[]) を参照してください。

定義:
インタフェース DirContext 内の modifyAttributes
パラメータ:
name - 属性が変更されるオブジェクトの名前
mods - 実行される変更の順序。null は不可
例外:
AttributeModificationException - 変更を完了できない場合
NamingException - ネーミング例外が発生した場合

modifyAttributes

public void modifyAttributes(Name name,
                             ModificationItem[] mods)
                      throws NamingException
インタフェース DirContext の記述:
変更順指定リストを使用して、指定されたオブジェクトに関連付けられた属性を変更します。変更は指定された順序で行われます。各変更は変更操作コードおよび操作する属性を指定します。可能な場合、変更は基本的に行われます。

定義:
インタフェース DirContext 内の modifyAttributes
パラメータ:
name - 属性が変更されるオブジェクトの名前
mods - 実行される変更の順序。null は不可
例外:
AttributeModificationException - 変更を完了できない場合
NamingException - ネーミング例外が発生した場合
関連項目:
DirContext.modifyAttributes(Name, int, Attributes), ModificationItem

bind

public void bind(String name,
                 Object obj,
                 Attributes attrs)
          throws NamingException
インタフェース DirContext の記述:
関連付けられた属性とともに、名前をオブジェクトにバインドします。詳細は、DirContext.bind(Name, Object, Attributes) を参照してください。

定義:
インタフェース DirContext 内の bind
パラメータ:
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 に関連付けられた属性はすべて無視されます。

定義:
インタフェース DirContext 内の bind
パラメータ:
name - 空ではないバインドされる名前
obj - null の可能性があるバインドされるオブジェクト
attrs - バインディングに関連付けるオブジェクト
例外:
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - バインディングに「必須」の属性が提供されていない場合
NamingException - ネーミング例外が発生した場合
関連項目:
Context.bind(Name, Object), DirContext.rebind(Name, Object, Attributes)

rebind

public void rebind(String name,
                   Object obj,
                   Attributes attrs)
            throws NamingException
インタフェース DirContext の記述:
関連付けられた属性とともに名前をオブジェクトにバインドし、既存のバインディングをオーバーライドします。詳細は、DirContext.rebind(Name, Object, Attributes) を参照してください。

定義:
インタフェース DirContext 内の rebind
パラメータ:
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 が指定されたオブジェクトに関連付けられます。objDirContextattrs が null 以外の場合、obj の属性は無視されます。

定義:
インタフェース DirContext 内の rebind
パラメータ:
name - 空ではないバインドされる名前
obj - null の可能性があるバインドされるオブジェクト
attrs - バインディングに関連付けるオブジェクト
例外:
InvalidAttributesException - バインディングに「必須」の属性が提供されていない場合
NamingException - ネーミング例外が発生した場合
関連項目:
Context.bind(Name, Object), DirContext.bind(Name, Object, Attributes)

createSubcontext

public DirContext createSubcontext(String name,
                                   Attributes attrs)
                            throws NamingException
インタフェース DirContext の記述:
関連付けられた属性とともに、名前をオブジェクトにバインドします。詳細は、DirContext.createSubcontext(Name, Attributes) を参照してください。

定義:
インタフェース DirContext 内の createSubcontext
パラメータ:
name - 空ではない作成されるコンテキストの名前
attrs - 新しく作成されたコンテキストに関連付けるオブジェクト
戻り値:
新しく作成されたコンテキスト
例外:
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - 作成に必要な必須属性 attrs が一部しか含まれていない場合
NamingException - ネーミング例外が発生した場合

createSubcontext

public DirContext createSubcontext(Name name,
                                   Attributes attrs)
                            throws NamingException
インタフェース DirContext の記述:
関連付けられた属性とともに、新しいコンテキストを作成してバインドします。このメソッドは指定した名前で新しいサブコンテキストを作成し、そのサブコンテキストを (名前の末端にあるものを除くすべての不可分の成分) ターゲットコンテキストでバインドし、提供された属性を新しく作成されたオブジェクトに関連付けます。すべての中間コンテキストおよびターゲットコンテキストがすでに存在している必要があります。attrs が null の場合、このメソッドは Context.createSubcontext() と同等です。

定義:
インタフェース DirContext 内の createSubcontext
パラメータ:
name - 空ではない作成されるコンテキストの名前
attrs - 新しく作成されたコンテキストに関連付けるオブジェクト
戻り値:
新しく作成されたコンテキスト
例外:
NameAlreadyBoundException - 名前がすでにバインドされている場合
InvalidAttributesException - 作成に必要な必須属性 attrs が一部しか含まれていない場合
NamingException - ネーミング例外が発生した場合
関連項目:
Context.createSubcontext(Name)

getSchema

public DirContext getSchema(String name)
                     throws NamingException
インタフェース DirContext の記述:
名前付きオブジェクトに関連したスキーマを取得します。詳細は、DirContext.getSchema(Name) を参照してください。

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

getSchema

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

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

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

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

getSchemaClassDefinition

public DirContext getSchemaClassDefinition(String name)
                                    throws NamingException
インタフェース DirContext の記述:
名前付きオブジェクトのクラス定義のスキーマオブジェクトを含むコンテキストを取得します。詳細は、DirContext.getSchemaClassDefinition(Name) を参照してください。

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

getSchemaClassDefinition

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

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

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

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

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

search

public NamingEnumeration<SearchResult> search(String name,
                                              Attributes matchingAttributes)
                                       throws NamingException
インタフェース DirContext の記述:
指定された属性のセットを含むオブジェクトを単一コンテキストで検索します。詳細は、DirContext.search(Name, Attributes) を参照してください。

定義:
インタフェース DirContext 内の search
パラメータ:
name - 検索するコンテキストの名前
matchingAttributes - 検索する属性
戻り値:
SearchResult オブジェクトの列挙
例外:
NamingException - ネーミング例外が発生した場合

search

public NamingEnumeration<SearchResult> search(Name name,
                                              Attributes matchingAttributes)
                                       throws NamingException
インタフェース DirContext の記述:
指定された属性のセットを含むオブジェクトを単一コンテキストで検索します。このメソッドはそのオブジェクトのすべての属性を返します。これは、atributesToReturn パラメータとしてメソッド search(Name, Attributes, String[]) に null を提供するのと同等です。
詳細は、DirContext.search(Name, Attributes, String[]) を参照してください。

定義:
インタフェース DirContext 内の search
パラメータ:
name - 検索するコンテキストの名前
matchingAttributes - 検索する属性
戻り値:
SearchResult オブジェクトの列挙
例外:
NamingException - ネーミング例外が発生した場合
関連項目:
DirContext.search(Name, Attributes, String[])

search

public NamingEnumeration<SearchResult> search(String name,
                                              Attributes matchingAttributes,
                                              String[] attributesToReturn)
                                       throws NamingException
インタフェース DirContext の記述:
指定された属性のセットを含むオブジェクトを単一コンテキストで検索し、選択した属性を取得します。詳細は、DirContext.search(Name, Attributes, String[]) を参照してください。

定義:
インタフェース DirContext 内の search
パラメータ:
name - 検索するコンテキストの名前
matchingAttributes - 検索する属性
attributesToReturn - 返す属性
戻り値:
null 以外の SearchResult オブジェクトの列挙
例外:
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 に一致するとみなされます。これは、値の順序は重要でなく、また A2A1 にない「余分な」値を含んでいても比較には影響がないことを意味します。さらに、A1 が値を持っていない場合、一致のテストは、同じ識別子を持つ属性 A2 が存在するかどうかを調べるのと同じ意になります。

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

この DirContext に変更が行われた場合、変更前のこのメソッドに対する呼び出しによって返された列挙の結果は、定義されていません。

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

ディレクトリは要求された以上の数の属性を返すことがあります (クラスの説明の「属性型名」参照) が、無関係な任意の属性を返すことはありません。

クラスの説明の「操作属性」 も参照してください。

定義:
インタフェース DirContext 内の search
パラメータ:
name - 検索するコンテキストの名前
matchingAttributes - 検索する属性。空または null の場合、ターゲットコンテキストのすべてのオブジェクトが返される
attributesToReturn - 返す属性。null はすべての属性が返されることを示す。空の配列は何も返されないことを示す
戻り値:
null 以外の SearchResult オブジェクトの列挙。各 SearchResult は、attributesToReturn によって識別された属性、および name によって名付けられたコンテキストに関連して名付けられた該当オブジェクトの名前を含む
例外:
NamingException - ネーミング例外が発生した場合
関連項目:
SearchControls, SearchResult, DirContext.search(Name, String, Object[], SearchControls)

search

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

定義:
インタフェース DirContext 内の search
パラメータ:
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 に準拠しています。attr および value についての解釈は RFC に次のように定義されています。

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 がスローされます。

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

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

ディレクトリは要求された以上の数の属性を返すことがあります (クラスの説明の「属性型名」 参照) が、無関係な任意の属性を返すことはありません。

クラスの説明の「操作属性」 も参照してください。

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

search

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

定義:
インタフェース DirContext 内の search
パラメータ:
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 文字列であるかのどちらかです。consSearchControls.OBJECT_SCOPE または SearchControls.SUBSTREE_SCOPE の検索範囲を指定する場合に考えられるように、ターゲットコンテキストが列挙に含まれる場合、その名前は空の文字列です。

属性を返すよう cons 引数が指定した場合、SearchResult は一致するオブジェクトの属性も含むことがあります。

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

ディレクトリは要求された以上の数の属性を返すことがあります (クラスの説明の「属性型名」 参照) が、無関係な任意の属性を返すことはありません。

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

クラスの説明の「操作属性」 も参照してください。

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

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。