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, 2014, Oracle and/or its affiliates. All rights reserved.