public interface SearchRequest extends Request
Use Requests.newSearchRequest(Dn, SearchScope, Filter, String...)
or
Requests.newSearchRequest(String, SearchScope, String, String...)
to
create a new search request.
SearchRequest request = Requests.newSearchRequest("dc=example,dc=com", SearchScope.WHOLE_SUBTREE, "(sn=Jensen)", "cn");Alternatively, use the
Connection.search()
method to specify the arguments directly.
Connection connection = ...; ConnectionEntryReader reader = connection.search( "dc=example,dc=com", SearchScope.WHOLE_SUBTREE, "(sn=Jensen)", "cn");
Request.RequestType
Modifier and Type | Method and Description |
---|---|
SearchRequest |
addAttribute(String... attributeDescriptions)
Adds the provided attribute name(s) to the list of attributes to be
included with each entry that matches the search criteria.
|
SearchRequest |
addControl(Control control)
Adds the provided control to this protocol-op.
|
SearchRequest |
addControls(Iterable<? extends Control> controls)
Adds the provided controls to this protocol-op.
|
List<String> |
getAttributes()
Returns a
List containing the list of attributes to be included
with each entry that matches the search criteria. |
<C extends Control> |
getControl(ControlDecoder<C> decoder,
DecodeOptions options)
Decodes and returns the first control in this protocol-op having an OID
corresponding to the provided control decoder.
|
List<Control> |
getControls()
Returns a
List containing the controls included with this
protocol-op. |
DereferenceAliasesPolicy |
getDereferenceAliasesPolicy()
Returns an indication as to whether alias entries are to be
dereferenced during the search.
|
Filter |
getFilter()
Returns the filter that defines the conditions that must be fulfilled in
order for an entry to be returned.
|
Dn |
getName()
Returns the distinguished name of the base entry relative to which the
search is to be performed.
|
SearchScope |
getScope()
Returns the scope of the search.
|
int |
getSizeLimit()
Returns the size limit that should be used in order to restrict the
maximum number of entries returned by the search.
|
int |
getTimeLimit()
Returns the time limit that should be used in order to restrict the
maximum time (in seconds) allowed for the search.
|
boolean |
isSingleEntrySearch()
Indicates whether search result is expected to be limited to a single entry.
|
boolean |
isTypesOnly()
Indicates whether search results are to contain both attribute
descriptions and values, or just attribute descriptions.
|
SearchRequest |
setDereferenceAliasesPolicy(DereferenceAliasesPolicy policy)
Sets the alias dereferencing policy to be used during the search.
|
SearchRequest |
setFilter(Filter filter)
Sets the filter that defines the conditions that must be fulfilled in
order for an entry to be returned.
|
SearchRequest |
setFilter(String filter)
Sets the filter that defines the conditions that must be fulfilled in
order for an entry to be returned.
|
SearchRequest |
setName(Dn dn)
Sets the distinguished name of the base entry relative to which the
search is to be performed.
|
SearchRequest |
setName(String dn)
Sets the distinguished name of the base entry relative to which the
search is to be performed.
|
SearchRequest |
setScope(SearchScope scope)
Sets the scope of the search.
|
SearchRequest |
setSizeLimit(int limit)
Sets the size limit that should be used in order to restrict the maximum
number of entries returned by the search.
|
SearchRequest |
setTimeLimit(int limit)
Sets the time limit that should be used in order to restrict the maximum
time (in seconds) allowed for the search.
|
SearchRequest |
setTypesOnly(boolean typesOnly)
Specifies whether search results are to contain both attribute
descriptions and values, or just attribute descriptions.
|
containsControl, getControl
SearchRequest addAttribute(String... attributeDescriptions)
attributeDescriptions
- The name(s) of the attribute to be included with each entry.UnsupportedOperationException
- If this search request does not permit attribute names to be
added.NullPointerException
- If attributeDescriptions
was null
.SearchRequest addControl(Control control)
ProtocolOp
addControl
in interface ProtocolOp
addControl
in interface Request
control
- The control to be added to this protocol-op.SearchRequest addControls(Iterable<? extends Control> controls)
ProtocolOp
addControls
in interface ProtocolOp
addControls
in interface Request
controls
- The controls to be added to this protocol-op.List<String> getAttributes()
List
containing the list of attributes to be included
with each entry that matches the search criteria. Attributes that are
sub-types of listed attributes are implicitly included. The returned
List
may be modified if permitted by this search request.List
containing the list of attributes.<C extends Control> C getControl(ControlDecoder<C> decoder, DecodeOptions options) throws DecodeException
ProtocolOp
getControl
in interface ProtocolOp
C
- The type of control to be decoded and returned.decoder
- The control decoder.options
- The set of decode options which should be used when decoding
the control.null
if the control is not
included with this protocol-op.DecodeException
- If the control could not be decoded because it was malformed in some way
(e.g. the control value was missing, or its content could not be decoded).List<Control> getControls()
ProtocolOp
List
containing the controls included with this
protocol-op. The returned List
may be modified if permitted by this
protocol-op.getControls
in interface ProtocolOp
List
containing the controls.DereferenceAliasesPolicy getDereferenceAliasesPolicy()
Filter getFilter()
Dn getName()
SearchScope getScope()
int getSizeLimit()
A value of zero (the default) in this field indicates that no client-requested size limit restrictions are in effect. Servers may also enforce a maximum number of entries to return.
boolean isSingleEntrySearch()
It is the case if size limit is equal to 1 or if scope is equal to SearchScope.BASE_OBJECT
.
If search results contain more than one entry, the search operation will throw
a MultipleEntriesFoundException
.
true
if the search is limited to a single entry result,
or false
(the default) otherwise.int getTimeLimit()
A value of zero (the default) in this field indicates that no client-requested time limit restrictions are in effect for the search. Servers may also enforce a maximum time limit for the search.
boolean isTypesOnly()
true
if only attribute descriptions (and not values) are
to be returned, or false
(the default) if both attribute
descriptions and values are to be returned.SearchRequest setDereferenceAliasesPolicy(DereferenceAliasesPolicy policy)
policy
- The alias dereferencing policy to be used during the search.UnsupportedOperationException
- If this search request does not permit the alias
dereferencing policy to be set.NullPointerException
- If policy
was null
.SearchRequest setFilter(Filter filter)
filter
- The filter that defines the conditions that must be fulfilled
in order for an entry to be returned.UnsupportedOperationException
- If this search request does not permit the filter to be set.NullPointerException
- If filter
was null
.SearchRequest setFilter(String filter)
filter
- The filter that defines the conditions that must be fulfilled
in order for an entry to be returned.UnsupportedOperationException
- If this search request does not permit the filter to be set.LocalizedIllegalArgumentException
- If filter
is not a valid LDAP string representation
of a filter.NullPointerException
- If filter
was null
.SearchRequest setName(Dn dn)
dn
- The distinguished name of the base entry relative to which the
search is to be performed.UnsupportedOperationException
- If this search request does not permit the distinguished name
to be set.NullPointerException
- If dn
was null
.SearchRequest setName(String dn)
dn
- The distinguished name of the base entry relative to which the
search is to be performed.LocalizedIllegalArgumentException
- If dn
could not be decoded using the default schema.UnsupportedOperationException
- If this search request does not permit the distinguished name
to be set.NullPointerException
- If dn
was null
.SearchRequest setScope(SearchScope scope)
scope
- The scope of the search.UnsupportedOperationException
- If this search request does not permit the scope to be set.NullPointerException
- If scope
was null
.SearchRequest setSizeLimit(int limit)
A value of 0 (the default) in this field indicates that no client-requested size limit restrictions are in effect. Servers may also enforce a maximum number of entries to return.
limit
- The maximum number of entries that will be returned by the search.
0 means an unlimited number of entries will be returned.UnsupportedOperationException
- If this search request does not permit the size limit to be set.LocalizedIllegalArgumentException
- If limit
was negative.SearchRequest setTimeLimit(int limit)
A value of zero (the default) in this field indicates that no client-requested time limit restrictions are in effect for the search. Servers may also enforce a maximum time limit for the search.
limit
- The time limit that should be used in order to restrict the
maximum time (in seconds) allowed for the search.UnsupportedOperationException
- If this search request does not permit the time limit to be
set.LocalizedIllegalArgumentException
- If limit
was negative.SearchRequest setTypesOnly(boolean typesOnly)
typesOnly
- true
if only attribute descriptions (and not values)
are to be returned, or false
(the default) if both
attribute descriptions and values are to be returned.UnsupportedOperationException
- If this search request does not permit the types-only
parameter to be set.Copyright 2010-2022 ForgeRock AS.