Package org.ldaptive
Class SearchRequest
- java.lang.Object
-
- org.ldaptive.AbstractRequestMessage
-
- org.ldaptive.SearchRequest
-
- All Implemented Interfaces:
Request
public class SearchRequest extends AbstractRequestMessage
LDAP search request defined as:SearchRequest ::= [APPLICATION 3] SEQUENCE { baseObject LDAPDN, scope ENUMERATED { baseObject (0), singleLevel (1), wholeSubtree (2), ... }, aliases ENUMERATED { neverDerefAliases (0), derefInSearching (1), derefFindingBaseObj (2), derefAlways (3) }, sizeLimit INTEGER (0 .. maxInt), timeLimit INTEGER (0 .. maxInt), typesOnly BOOLEAN, filter Filter, attributes AttributeSelection }- Author:
- Middleware Services
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSearchRequest.BuilderSearch request builder.-
Nested classes/interfaces inherited from class org.ldaptive.AbstractRequestMessage
AbstractRequestMessage.AbstractBuilder<B,T extends AbstractRequestMessage>
-
-
Field Summary
Fields Modifier and Type Field Description static intPROTOCOL_OPBER protocol number.-
Fields inherited from class org.ldaptive.AbstractRequestMessage
logger
-
-
Constructor Summary
Constructors Constructor Description SearchRequest()Default constructor.SearchRequest(java.lang.String dn)Creates a new search request.SearchRequest(java.lang.String dn, java.lang.String filter)Creates a new search request.SearchRequest(java.lang.String dn, java.lang.String filter, java.lang.String... attributes)Creates a new search request.SearchRequest(java.lang.String dn, Filter filter, java.lang.String... attributes)Creates a new search request.SearchRequest(java.lang.String dn, FilterTemplate template, java.lang.String... attributes)Creates a new search request.SearchRequest(java.lang.String dn, SearchScope scope, DerefAliases aliases, int size, java.time.Duration time, boolean types, Filter filter, java.lang.String... attributes)Creates a new search request.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static SearchRequest.Builderbuilder()Creates a builder for this class.static SearchRequest.Builderbuilder(SearchRequest request)Creates a builder for this class.voidconfigureBinaryAttributes(LdapEntry entry)InvokesLdapAttribute.configureBinary(String...)for each attribute in the supplied entry usingbinaryAttributes.static SearchRequestcopy(SearchRequest request)Returns a new search request with the same properties as the supplied request.booleanequals(java.lang.Object o)java.lang.StringgetBaseDn()Returns the base DN.java.lang.String[]getBinaryAttributes()Returns names of binary attributes.DerefAliasesgetDerefAliases()Returns how to dereference aliases.FiltergetFilter()Returns the search filter.protected DEREncoder[]getRequestEncoders(int id)Returns the request encoders for this message.java.lang.String[]getReturnAttributes()Returns the search return attributes.SearchScopegetSearchScope()Gets the search scope.intgetSizeLimit()Returns the size limit.java.time.DurationgetTimeLimit()Returns the time limit.inthashCode()booleanisTypesOnly()Returns whether to return only attribute types.static SearchRequestobjectScopeSearchRequest(java.lang.String dn)Returns a search request initialized for use with an object level search scope.static SearchRequestobjectScopeSearchRequest(java.lang.String dn, java.lang.String[] attrs)Returns a search request initialized for use with an object level search scope.static SearchRequestobjectScopeSearchRequest(java.lang.String dn, java.lang.String[] attrs, java.lang.String filter)Returns a search request initialized for use with an object level search scope.static SearchRequestobjectScopeSearchRequest(java.lang.String dn, java.lang.String[] attrs, Filter filter)Returns a search request initialized for use with an object level search scope.static SearchRequestobjectScopeSearchRequest(java.lang.String dn, java.lang.String[] attrs, FilterTemplate template)Returns a search request initialized for use with an object level search scope.voidsetBaseDn(java.lang.String dn)Sets the base DN.voidsetBinaryAttributes(java.lang.String... attrs)Sets names of binary attributes.voidsetDerefAliases(DerefAliases aliases)Sets how to dereference aliases.voidsetFilter(java.lang.String filter)Sets the search filter.voidsetFilter(Filter filter)Sets the search filter.voidsetFilter(FilterTemplate template)Sets the search filter.voidsetReturnAttributes(java.lang.String... attributes)Sets the search return attributes.voidsetSearchScope(SearchScope scope)Sets the search scope.voidsetSizeLimit(int limit)Sets the size limit.voidsetTimeLimit(java.time.Duration limit)Sets the time limit.voidsetTypesOnly(boolean types)Sets whether to return only attribute types.java.lang.StringtoString()-
Methods inherited from class org.ldaptive.AbstractRequestMessage
encode, getControls, setControls
-
-
-
-
Field Detail
-
PROTOCOL_OP
public static final int PROTOCOL_OP
BER protocol number.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
SearchRequest
public SearchRequest()
Default constructor.
-
SearchRequest
public SearchRequest(java.lang.String dn)
Creates a new search request.- Parameters:
dn- base DN
-
SearchRequest
public SearchRequest(java.lang.String dn, java.lang.String filter)Creates a new search request.- Parameters:
dn- base DNfilter- search filter
-
SearchRequest
public SearchRequest(java.lang.String dn, java.lang.String filter, java.lang.String... attributes)Creates a new search request.- Parameters:
dn- base DNfilter- search filterattributes- return attributes
-
SearchRequest
public SearchRequest(java.lang.String dn, FilterTemplate template, java.lang.String... attributes)Creates a new search request.- Parameters:
dn- base DNtemplate- filter templateattributes- return attributes
-
SearchRequest
public SearchRequest(java.lang.String dn, Filter filter, java.lang.String... attributes)Creates a new search request.- Parameters:
dn- base DNfilter- search filterattributes- return attributes
-
SearchRequest
public SearchRequest(java.lang.String dn, SearchScope scope, DerefAliases aliases, int size, java.time.Duration time, boolean types, Filter filter, java.lang.String... attributes)Creates a new search request.- Parameters:
dn- base DNscope- search scopealiases- deref aliasessize- size limittime- time limittypes- types onlyfilter- search filterattributes- return attributes
-
-
Method Detail
-
getBaseDn
public java.lang.String getBaseDn()
Returns the base DN.- Returns:
- base DN
-
setBaseDn
public void setBaseDn(java.lang.String dn)
Sets the base DN.- Parameters:
dn- base DN
-
getSearchScope
public SearchScope getSearchScope()
Gets the search scope.- Returns:
- search scope
-
setSearchScope
public void setSearchScope(SearchScope scope)
Sets the search scope.- Parameters:
scope- search scope
-
getDerefAliases
public DerefAliases getDerefAliases()
Returns how to dereference aliases.- Returns:
- how to dereference aliases
-
setDerefAliases
public void setDerefAliases(DerefAliases aliases)
Sets how to dereference aliases.- Parameters:
aliases- how to dereference aliases
-
getSizeLimit
public int getSizeLimit()
Returns the size limit.- Returns:
- size limit
-
setSizeLimit
public void setSizeLimit(int limit)
Sets the size limit.- Parameters:
limit- size limit- Throws:
java.lang.IllegalArgumentException- if limit is negative
-
getTimeLimit
public java.time.Duration getTimeLimit()
Returns the time limit.- Returns:
- time limit
-
setTimeLimit
public void setTimeLimit(java.time.Duration limit)
Sets the time limit.- Parameters:
limit- time limit- Throws:
java.lang.IllegalArgumentException- if limit is null or negative
-
isTypesOnly
public boolean isTypesOnly()
Returns whether to return only attribute types.- Returns:
- whether to return only attribute types
-
setTypesOnly
public void setTypesOnly(boolean types)
Sets whether to return only attribute types.- Parameters:
types- whether to return only attribute types
-
getFilter
public Filter getFilter()
Returns the search filter.- Returns:
- search filter
-
setFilter
public void setFilter(Filter filter)
Sets the search filter.- Parameters:
filter- search filter
-
setFilter
public void setFilter(java.lang.String filter)
Sets the search filter. SeeFilterParser.parse(String).- Parameters:
filter- search filter- Throws:
java.lang.IllegalArgumentException- if the filter cannot be parsed
-
setFilter
public void setFilter(FilterTemplate template)
Sets the search filter. SeeFilterTemplateandFilterParser.parse(String).- Parameters:
template- filter template- Throws:
java.lang.IllegalArgumentException- if the filter cannot be parsed
-
getReturnAttributes
public java.lang.String[] getReturnAttributes()
Returns the search return attributes.- Returns:
- search return attributes
-
setReturnAttributes
public void setReturnAttributes(java.lang.String... attributes)
Sets the search return attributes.- Parameters:
attributes- search return attributes
-
getBinaryAttributes
public java.lang.String[] getBinaryAttributes()
Returns names of binary attributes.- Returns:
- binary attribute names
-
setBinaryAttributes
public void setBinaryAttributes(java.lang.String... attrs)
Sets names of binary attributes.- Parameters:
attrs- binary attribute names
-
configureBinaryAttributes
public void configureBinaryAttributes(LdapEntry entry)
InvokesLdapAttribute.configureBinary(String...)for each attribute in the supplied entry usingbinaryAttributes.- Parameters:
entry- to configure binary attributes for
-
getRequestEncoders
protected DEREncoder[] getRequestEncoders(int id)
Description copied from class:AbstractRequestMessageReturns the request encoders for this message.- Specified by:
getRequestEncodersin classAbstractRequestMessage- Parameters:
id- message ID- Returns:
- request encoders
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classAbstractRequestMessage
-
objectScopeSearchRequest
public static SearchRequest objectScopeSearchRequest(java.lang.String dn)
Returns a search request initialized for use with an object level search scope.- Parameters:
dn- of an ldap entry- Returns:
- search request
-
objectScopeSearchRequest
public static SearchRequest objectScopeSearchRequest(java.lang.String dn, java.lang.String[] attrs)
Returns a search request initialized for use with an object level search scope.- Parameters:
dn- of an ldap entryattrs- to return- Returns:
- search request
-
objectScopeSearchRequest
public static SearchRequest objectScopeSearchRequest(java.lang.String dn, java.lang.String[] attrs, java.lang.String filter)
Returns a search request initialized for use with an object level search scope.- Parameters:
dn- of an ldap entryattrs- to returnfilter- to execute on the ldap entry- Returns:
- search request
- Throws:
java.lang.IllegalArgumentException- if the filter cannot be parsed
-
objectScopeSearchRequest
public static SearchRequest objectScopeSearchRequest(java.lang.String dn, java.lang.String[] attrs, FilterTemplate template)
Returns a search request initialized for use with an object level search scope.- Parameters:
dn- of an ldap entryattrs- to returntemplate- to execute on the ldap entry- Returns:
- search request
- Throws:
java.lang.IllegalArgumentException- if the filter cannot be parsed
-
objectScopeSearchRequest
public static SearchRequest objectScopeSearchRequest(java.lang.String dn, java.lang.String[] attrs, Filter filter)
Returns a search request initialized for use with an object level search scope.- Parameters:
dn- of an ldap entryattrs- to returnfilter- to execute on the ldap entry- Returns:
- search request
-
copy
public static SearchRequest copy(SearchRequest request)
Returns a new search request with the same properties as the supplied request.- Parameters:
request- to copy- Returns:
- copy of the supplied search request
-
builder
public static SearchRequest.Builder builder()
Creates a builder for this class.- Returns:
- new builder
-
builder
public static SearchRequest.Builder builder(SearchRequest request)
Creates a builder for this class.- Parameters:
request- search request to initialize the builder with- Returns:
- new builder
-
-