public class InitialDirContext extends InitialContext implements DirContext
InitialContext
defaultInitCtx, gotDefault, myProps
ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE
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)
名前付きコンテキストまたは名前付きオブジェクトで、指定された検索フィルタを満たすエントリを検索します。
|
addToEnvironment, bind, bind, close, composeName, composeName, createSubcontext, createSubcontext, destroySubcontext, destroySubcontext, doLookup, doLookup, getDefaultInitCtx, getEnvironment, getNameInNamespace, getNameParser, getNameParser, getURLOrDefaultInitCtx, getURLOrDefaultInitCtx, init, list, list, listBindings, listBindings, lookup, lookup, lookupLink, lookupLink, rebind, rebind, removeFromEnvironment, rename, rename, unbind, unbind
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
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
protected InitialDirContext(boolean lazy) throws NamingException
lazy
- true は、初期 DirContext が初期化されないことを示す。false は new InitialDirContext() を呼び出すのと同じNamingException
- ネーミング例外が発生した場合InitialContext.init(Hashtable)
public InitialDirContext() throws NamingException
NamingException
- ネーミング例外が発生した場合InitialDirContext(Hashtable)
public InitialDirContext(Hashtable<?,?> environment) throws NamingException
このコンストラクタは environment を変更したり、その参照を保存したりはしませんが、複製を保存する可能性があります。呼び出し元は、environment がコンストラクタに渡されたあと、そこに含まれている可変のキーや値を変更してはいけません。
environment
- 初期の DirContext を作成するために使用される環境。null は空の環境を示す。NamingException
- ネーミング例外が発生した場合public Attributes getAttributes(String name) throws NamingException
DirContext
DirContext.getAttributes(Name)
を参照してください。getAttributes
、インタフェース: DirContext
name
- 属性の取得元のオブジェクトの名前name
に関連付けられている属性のセットNamingException
- ネーミング例外が発生した場合public Attributes getAttributes(String name, String[] attrIds) throws NamingException
DirContext
DirContext.getAttributes(Name, String[])
を参照してください。getAttributes
、インタフェース: DirContext
name
- 属性の取得元のオブジェクトの名前attrIds
- 取得する属性の識別子。null はすべての属性が取得されることを示す。空の配列は何も取得されないことを示す。NamingException
- ネーミング例外が発生した場合public Attributes getAttributes(Name name) throws NamingException
DirContext
getAttributes
、インタフェース: DirContext
name
- 属性の取得元のオブジェクトの名前name
に関連付けられている属性のセット。名前に属性がない場合、空の属性セットを返し、null になることはない。NamingException
- ネーミング例外が発生した場合DirContext.getAttributes(String)
, DirContext.getAttributes(Name, String[])
public Attributes getAttributes(Name name, String[] attrIds) throws NamingException
DirContext
指定された属性をオブジェクトが持っていない場合、ディレクトリは存在しない属性を無視し、オブジェクトが持っている要求された属性を返します。
ディレクトリは要求された数より多い属性を返すことがあります (クラスの説明にある Attribute Type Names を参照) が、任意の無関連な属性を返すことは許可されていません。
クラスの説明にある Operational Attributes も参照してください。
getAttributes
、インタフェース: DirContext
name
- 属性の取得元のオブジェクトの名前attrIds
- 取得する属性の識別子。null はすべての属性が取得されることを示す。空の配列は何も取得されないことを示す。NamingException
- ネーミング例外が発生した場合public void modifyAttributes(String name, int mod_op, Attributes attrs) throws NamingException
DirContext
DirContext.modifyAttributes(Name, int, Attributes)
を参照してください。modifyAttributes
、インタフェース: DirContext
name
- 属性が更新されるオブジェクトの名前mod_op
- 変更操作。ADD_ATTRIBUTE
、REPLACE_ATTRIBUTE
、REMOVE_ATTRIBUTE
のうちのいずれか。attrs
- 変更に使用される属性。null は不可AttributeModificationException
- 変更を正常に完了できない場合NamingException
- ネーミング例外が発生した場合public void modifyAttributes(Name name, int mod_op, Attributes attrs) throws NamingException
DirContext
modifyAttributes
、インタフェース: DirContext
name
- 属性が更新されるオブジェクトの名前mod_op
- 変更操作。ADD_ATTRIBUTE
、REPLACE_ATTRIBUTE
、REMOVE_ATTRIBUTE
のうちのいずれか。attrs
- 変更に使用される属性。null は不可AttributeModificationException
- 変更を正常に完了できない場合NamingException
- ネーミング例外が発生した場合DirContext.modifyAttributes(Name, ModificationItem[])
public void modifyAttributes(String name, ModificationItem[] mods) throws NamingException
DirContext
DirContext.modifyAttributes(Name, ModificationItem[])
を参照してください。modifyAttributes
、インタフェース: DirContext
name
- 属性が更新されるオブジェクトの名前mods
- 実行される変更の順序。null は不可AttributeModificationException
- 変更を正常に完了できない場合NamingException
- ネーミング例外が発生した場合public void modifyAttributes(Name name, ModificationItem[] mods) throws NamingException
DirContext
modifyAttributes
、インタフェース: DirContext
name
- 属性が更新されるオブジェクトの名前mods
- 実行される変更の順序。null は不可AttributeModificationException
- 変更を正常に完了できない場合NamingException
- ネーミング例外が発生した場合DirContext.modifyAttributes(Name, int, Attributes)
, ModificationItem
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
- ネーミング例外が発生した場合public void bind(Name name, Object obj, Attributes attrs) throws NamingException
DirContext
bind
、インタフェース: DirContext
name
- バインドする名前。空は不可obj
- バインドするオブジェクト。null の可能性があるattrs
- バインディングに関連付ける属性NameAlreadyBoundException
- 名前がすでにバインドされている場合InvalidAttributesException
- バインディングの一部の「必須」属性が提供されていない場合NamingException
- ネーミング例外が発生した場合Context.bind(Name, Object)
, DirContext.rebind(Name, Object, Attributes)
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
- ネーミング例外が発生した場合public void rebind(Name name, Object obj, Attributes attrs) throws NamingException
DirContext
rebind
、インタフェース: DirContext
name
- バインドする名前。空は不可obj
- バインドするオブジェクト。null の可能性があるattrs
- バインディングに関連付ける属性InvalidAttributesException
- バインディングの一部の「必須」属性が提供されていない場合NamingException
- ネーミング例外が発生した場合Context.bind(Name, Object)
, DirContext.bind(Name, Object, Attributes)
public DirContext createSubcontext(String name, Attributes attrs) throws NamingException
DirContext
DirContext.createSubcontext(Name, Attributes)
を参照してください。createSubcontext
、インタフェース: DirContext
name
- 作成するコンテキストの名前。空は不可attrs
- 新しく作成されたコンテキストに関連付ける属性NameAlreadyBoundException
- 名前がすでにバインドされている場合InvalidAttributesException
- attrs
に、作成に必要な必須属性の一部が含まれていない場合NamingException
- ネーミング例外が発生した場合public DirContext createSubcontext(Name name, Attributes attrs) throws NamingException
DirContext
createSubcontext
、インタフェース: DirContext
name
- 作成するコンテキストの名前。空は不可attrs
- 新しく作成されたコンテキストに関連付ける属性NameAlreadyBoundException
- 名前がすでにバインドされている場合InvalidAttributesException
- attrs
に、作成に必要な必須属性の一部が含まれていない場合NamingException
- ネーミング例外が発生した場合Context.createSubcontext(Name)
public DirContext getSchema(String name) throws NamingException
DirContext
DirContext.getSchema(Name)
を参照してください。getSchema
、インタフェース: DirContext
name
- スキーマが取得されるオブジェクトの名前OperationNotSupportedException
- スキーマがサポートされていない場合NamingException
- ネーミング例外が発生した場合public DirContext getSchema(Name name) throws NamingException
DirContext
このメソッドは、指定されたオブジェクトに適用できるスキーマ情報ツリーのルートを返します。指定されたオブジェクト (またはディレクトリ全体) のいくつかが、同じスキーマを共有する場合があります。
スキーマツリーの構造と内容、スキーマツリーの内容の変更許可、こうした変更のディレクトリへの影響などの問題は、ベースとなるディレクトリによって異なります。
getSchema
、インタフェース: DirContext
name
- スキーマが取得されるオブジェクトの名前OperationNotSupportedException
- スキーマがサポートされていない場合NamingException
- ネーミング例外が発生した場合public DirContext getSchemaClassDefinition(String name) throws NamingException
DirContext
DirContext.getSchemaClassDefinition(Name)
を参照してください。getSchemaClassDefinition
、インタフェース: DirContext
name
- オブジェクトクラス定義が取得されるオブジェクトの名前OperationNotSupportedException
- スキーマがサポートされていない場合NamingException
- ネーミング例外が発生した場合public DirContext getSchemaClassDefinition(Name name) throws NamingException
DirContext
ディレクトリスキーマ内にある情報のカテゴリの 1 つにクラス定義があります。「オブジェクトクラス」の定義は、オブジェクトの型と、そのオブジェクトが備える必要のある、または備えることのできる (必須およびオプションの) 属性を指定します。ここで言う「オブジェクトクラス」は、Java 的な意味ではなく、ディレクトリ的な意味で使われています。たとえば、指定されたオブジェクトが「Person」クラスのディレクトリオブジェクトの場合、getSchemaClassDefinition() は、「Person」の (ディレクトリの) オブジェクトクラス定義を表す DirContext を返します。
オブジェクトクラス定義から取得できる情報は、ディレクトリ依存です。
JNDI 1.2 より前は、このメソッドは指定されたオブジェクトのクラス定義を表す単一のスキーマオブジェクトを返していました。JNDI 1.2 からは、このメソッドは指定されたオブジェクトのクラス定義をすべて含む DirContext を返します。
getSchemaClassDefinition
、インタフェース: DirContext
name
- オブジェクトクラス定義が取得されるオブジェクトの名前OperationNotSupportedException
- スキーマがサポートされていない場合NamingException
- ネーミング例外が発生した場合public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes) throws NamingException
DirContext
DirContext.search(Name, Attributes)
を参照してください。search
、インタフェース: DirContext
name
- 検索するコンテキストの名前matchingAttributes
- 検索する属性NamingException
- ネーミング例外が発生した場合public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes) throws NamingException
DirContext
search(Name, Attributes, String[])
に atributesToReturn パラメータとして null を指定することと同等です。DirContext.search(Name, Attributes, String[])
を参照してください。search
、インタフェース: DirContext
name
- 検索するコンテキストの名前matchingAttributes
- 検索する属性NamingException
- ネーミング例外が発生した場合DirContext.search(Name, Attributes, String[])
public NamingEnumeration<SearchResult> search(String name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
DirContext
DirContext.search(Name, Attributes, String[])
を参照してください。search
、インタフェース: DirContext
name
- 検索するコンテキストの名前matchingAttributes
- 検索する属性attributesToReturn
- 返す属性NamingException
- ネーミング例外が発生した場合public NamingEnumeration<SearchResult> search(Name name, Attributes matchingAttributes, String[] attributesToReturn) throws NamingException
DirContext
SearchControls
設定を使用して実行されます。
オブジェクトが選択されるには、matchingAttributes
内の各属性がそのオブジェクトのいずれかの属性に一致している必要があります。matchingAttributes
が空または null の場合は、ターゲットコンテキスト内のすべてのオブジェクトが返されます。
matchingAttributes
内の属性 A1 とオブジェクトの属性 A2 が同じ識別子を持っており、A1 の各値が A2 のいずれかの値に等しい場合、A1 は A2 に一致すると見なされます。これは、値の順序は重要でなく、A1 にはない「余分な」値が比較に影響を与えることなく A2 に含まれている可能性があることを示しています。また、A1 に値が含まれていない場合は、一致しているかどうかをテストすることが、同じ識別子を持つ属性 A2 が存在するかどうかをテストすることと同等であることも示しています。
属性値を比較するのに使用される「同等」の詳細な定義は、ベースとなるディレクトリサービスによって定義されます。これは、たとえば Object.equals
メソッドを使用することも、スキーマを使用して別の同等操作を指定することもあります。同等以外の操作に基づくマッチング (部分文字列の比較など) には、search
メソッドのフィルタ引数を取るバージョンを使用します。
この DirContext への変更が行われた場合、このメソッドの以前の呼び出しによって返された列挙への影響は未定義です。
指定された属性をオブジェクトが持っていない場合、ディレクトリは存在しない属性を無視し、オブジェクトが持っている要求された属性を返します。
ディレクトリは要求された数より多い属性を返すことがあります (クラスの説明にある Attribute Type Names を参照) が、任意の無関連な属性を返すことは許可されていません。
クラスの説明にある Operational Attributes も参照してください。
search
、インタフェース: DirContext
name
- 検索するコンテキストの名前matchingAttributes
- 検索する属性。空または null の場合、ターゲットコンテキストのすべてのオブジェクトが返される。attributesToReturn
- 返す属性。null はすべての属性が返されることを示す。空の配列は何も返されないことを示す。attributesToReturn
によって識別された属性、および name
によって名付けられたコンテキストに関連して名付けられた該当オブジェクトの名前を含む。NamingException
- ネーミング例外が発生した場合SearchControls
, SearchResult
, DirContext.search(Name, String, Object[], SearchControls)
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()) と同等)。InvalidSearchFilterException
- 指定された検索フィルタが、ベースとなるディレクトリによってサポートまたは認識されていない場合InvalidSearchControlsException
- 検索コントロールに無効な設定が含まれている場合NamingException
- ネーミング例外が発生した場合public NamingEnumeration<SearchResult> search(Name name, String filter, SearchControls cons) throws NamingException
DirContext
filter
の形式と解釈は、RFC 2254 に従います。この RFC では、attr
と value
に対して次の解釈が示されています。
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 文字列であるかのどちらかです。ターゲットコンテキストが列挙に含まれている場合 (cons
によって SearchControls.OBJECT_SCOPE
または SearchControls.SUBSTREE_SCOPE
の検索範囲が指定されているときは可能性がある)、その名前は空の文字列です。SearchResult にはまた、cons 引数によって属性を返すことが指定された場合、一致するオブジェクトの属性も含まれている可能性があります。
要求された属性をオブジェクトが持っていない場合、その存在しない属性は無視されます。オブジェクトが持っている要求された属性が返されます。
ディレクトリは要求された数より多い属性を返すことがあります (クラスの説明にある Attribute Type Names を参照) が、任意の無関連な属性を返すことは許可されていません。
クラスの説明にある Operational Attributes も参照してください。
search
、インタフェース: DirContext
name
- 検索するコンテキストまたはオブジェクトの名前filter
- 検索に使用するフィルタ式。null は不可cons
- 検索を制御する検索コントロール。null の場合は、デフォルトの検索コントロールが使用される ((new SearchControls()) と同等)。InvalidSearchFilterException
- 指定された検索フィルタが、ベースとなるディレクトリによってサポートまたは認識されていない場合InvalidSearchControlsException
- 検索コントロールに無効な設定が含まれている場合NamingException
- ネーミング例外が発生した場合DirContext.search(Name, String, Object[], SearchControls)
, SearchControls
, SearchResult
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()) と同等)。InvalidSearchControlsException
- cons に無効な設定が含まれている場合InvalidSearchFilterException
- filterArgs を含む filterExpr が無効な検索フィルタを表している場合NamingException
- ネーミング例外が発生した場合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]
がその場所で使用されることを示します。このような変数は、attr、value、または matchingrule 生成が RFC 2254、セクション 4 のフィルタ文法内で現れる場所ならどこでも使用できます。文字列値のフィルタ引数で変数を置換する場合、フィルタは変数の代わりに文字列が指定されたかのように解釈され、フィルタ内で特殊な意味を持つ文字 ('*'
など) はすべて RFC 2254 の規則に従ってエスケープされています。
属性の一部または全部に文字列表現を使用しないディレクトリの場合、属性値に対応するフィルタ引数は String 以外の型の可能性があります。たとえば、構造化されていない 2 進値の属性をサポートするディレクトリは、バイト配列をフィルタ引数として受け入れます。ほかの型のフィルタ引数の解釈がある場合、解釈はそのディレクトリのサービスプロバイダによって判別され、サービスプロバイダはフィルタ操作を、該当するセマンティクスとともにベースとなるディレクトリの操作にマップします。
このメソッドは結果の列挙を返します。列挙内の各要素には、オブジェクトの名前と、オブジェクトに関するその他の情報が含まれています (SearchResult
を参照)。この名前は、(name
パラメータで指定された) 検索のターゲットコンテキストに関連しているか、または URL 文字列であるかのどちらかです。ターゲットコンテキストが列挙に含まれている場合 (cons
によって SearchControls.OBJECT_SCOPE
または SearchControls.SUBSTREE_SCOPE
の検索範囲が指定されているときは可能性がある)、その名前は空の文字列です。
SearchResult にはまた、cons 引数によって属性を返すことが指定された場合、一致するオブジェクトの属性も含まれている可能性があります。
要求された属性をオブジェクトが持っていない場合、その存在しない属性は無視されます。オブジェクトが持っている要求された属性が返されます。
ディレクトリは要求された数より多い属性を返すことがあります (クラスの説明にある Attribute Type Names を参照) が、任意の無関連な属性を返すことは許可されていません。
無効な変数の置換を行う検索フィルタがこのメソッドに提供された場合、結果は定義されていません。この DirContext に変更が行われた場合、変更前のこのメソッドに対する呼び出しによって返された列挙の結果は、定義されていません。
クラスの説明にある Operational Attributes も参照してください。
search
、インタフェース: DirContext
name
- 検索するコンテキストまたはオブジェクトの名前filterExpr
- 検索に使用するフィルタ式。この式には、形式「{i}
」の変数 (i
は負にならない整数) が含まれる可能性がある。null は不可。filterArgs
- filterExpr
内の変数を置換する引数の配列。filterArgs[i]
の値が各「{i}
」を置換する。null の場合、空の配列と同等。cons
- 検索を制御する検索コントロール。null の場合は、デフォルトの検索コントロールが使用される ((new SearchControls()) と同等)。InvalidSearchControlsException
- cons に無効な設定が含まれている場合InvalidSearchFilterException
- filterArgs を含む filterExpr が無効な検索フィルタを表している場合NamingException
- ネーミング例外が発生した場合DirContext.search(Name, Attributes, String[])
, MessageFormat
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.