@ThreadSafety(level=COMPLETELY_THREADSAFE) public final class LDAPReadWriteConnectionPool extends java.lang.Object implements LDAPInterface, java.io.Closeable
getEntry(java.lang.String)
,
getRootDSE()
, and getSchema()
. If the target directory
environment does not require separate servers for read and write operations,
then it is recommended that the simpler LDAPConnectionPool
class be
used instead.
LDAPConnectionPool
class with the
exception that it is possible to explicitly check out and release connections
from either the read or write pools, and there is no convenience method for
processing multiple requests over the same connection. See the documentation
for the LDAPConnectionPool
class for additional documentation and
for examples demonstrating the use of both connection pool implementations.Constructor and Description |
---|
LDAPReadWriteConnectionPool(LDAPConnection readConnection,
int initialReadConnections,
int maxReadConnections,
LDAPConnection writeConnection,
int initialWriteConnections,
int maxWriteConnections)
Creates a new LDAP read-write connection pool with the provided
connections.
|
LDAPReadWriteConnectionPool(LDAPConnectionPool readPool,
LDAPConnectionPool writePool)
Creates a new LDAP read-write connection pool with the provided pools for
read and write operations, respectively.
|
Modifier and Type | Method and Description |
---|---|
LDAPResult |
add(AddRequest addRequest)
Processes the provided add request using a write connection from this
connection pool.
|
LDAPResult |
add(Entry entry)
Processes an add operation with the provided information using a write
connection from this connection pool.
|
LDAPResult |
add(ReadOnlyAddRequest addRequest)
Processes the provided add request using a write connection from this
connection pool.
|
LDAPResult |
add(java.lang.String... ldifLines)
Processes an add operation with the provided information using a write
connection from this connection pool.
|
LDAPResult |
add(java.lang.String dn,
Attribute... attributes)
Processes an add operation with the provided information using a write
connection from this connection pool.
|
LDAPResult |
add(java.lang.String dn,
java.util.Collection<Attribute> attributes)
Processes an add operation with the provided information using a write
connection from this connection pool.
|
BindResult |
bind(BindRequest bindRequest)
Processes the provided bind request using a read connection from this
connection pool.
|
BindResult |
bind(java.lang.String bindDN,
java.lang.String password)
Processes a simple bind request with the provided DN and password using a
read connection from this connection pool.
|
void |
close()
Closes this connection pool.
|
CompareResult |
compare(CompareRequest compareRequest)
Processes the provided compare request using a read connection from this
connection pool.
|
CompareResult |
compare(ReadOnlyCompareRequest compareRequest)
Processes the provided compare request using a read connection from this
connection pool.
|
CompareResult |
compare(java.lang.String dn,
java.lang.String attributeName,
java.lang.String assertionValue)
Processes a compare operation with the provided information using a read
connection from this connection pool.
|
LDAPResult |
delete(DeleteRequest deleteRequest)
Processes the provided delete request using a write connection from this
connection pool.
|
LDAPResult |
delete(ReadOnlyDeleteRequest deleteRequest)
Processes the provided delete request using a write connection from this
connection pool.
|
LDAPResult |
delete(java.lang.String dn)
Deletes the entry with the specified DN using a write connection from this
connection pool.
|
protected void |
finalize()
Closes this connection pool in the event that it becomes unreferenced.
|
SearchResultEntry |
getEntry(java.lang.String dn)
Retrieves the entry with the specified DN using a read connection from this
connection pool.
|
SearchResultEntry |
getEntry(java.lang.String dn,
java.lang.String... attributes)
Retrieves the entry with the specified DN using a read connection from this
connection pool.
|
LDAPConnection |
getReadConnection()
Retrieves an LDAP connection from the read pool.
|
LDAPConnectionPool |
getReadPool()
Retrieves the connection pool that should be used for read operations.
|
LDAPConnectionPoolStatistics |
getReadPoolStatistics()
Retrieves the set of statistics maintained for the read pool.
|
RootDSE |
getRootDSE()
Retrieves the directory server root DSE using a read connection from this
connection pool.
|
Schema |
getSchema()
Retrieves the directory server schema definitions using a read connection
from this connection pool, using the subschema subentry DN contained in the
server's root DSE.
|
Schema |
getSchema(java.lang.String entryDN)
Retrieves the directory server schema definitions that govern the specified
entry using a read connection from this connection pool.
|
LDAPConnection |
getWriteConnection()
Retrieves an LDAP connection from the write pool.
|
LDAPConnectionPool |
getWritePool()
Retrieves the connection pool that should be used for write operations.
|
LDAPConnectionPoolStatistics |
getWritePoolStatistics()
Retrieves the set of statistics maintained for the write pool.
|
boolean |
isClosed()
Indicates whether this connection pool has been closed.
|
LDAPResult |
modify(ModifyRequest modifyRequest)
Processes the provided modify request using a write connection from this
connection pool.
|
LDAPResult |
modify(ReadOnlyModifyRequest modifyRequest)
Processes the provided modify request using a write connection from this
connection pool.
|
LDAPResult |
modify(java.lang.String... ldifModificationLines)
Processes a modify request from the provided LDIF representation of the
changes using a write connection from this connection pool.
|
LDAPResult |
modify(java.lang.String dn,
java.util.List<Modification> mods)
Applies the provided set of modifications to the specified entry using a
write connection from this connection pool.
|
LDAPResult |
modify(java.lang.String dn,
Modification... mods)
Applies the provided set of modifications to the specified entry using a
write connection from this connection pool.
|
LDAPResult |
modify(java.lang.String dn,
Modification mod)
Applies the provided modification to the specified entry using a write
connection from this connection pool.
|
LDAPResult |
modifyDN(ModifyDNRequest modifyDNRequest)
Processes the provided modify DN request using a write connection from this
connection pool.
|
LDAPResult |
modifyDN(ReadOnlyModifyDNRequest modifyDNRequest)
Processes the provided modify DN request using a write connection from this
connection pool.
|
LDAPResult |
modifyDN(java.lang.String dn,
java.lang.String newRDN,
boolean deleteOldRDN)
Performs a modify DN operation with the provided information using a write
connection from this connection pool.
|
LDAPResult |
modifyDN(java.lang.String dn,
java.lang.String newRDN,
boolean deleteOldRDN,
java.lang.String newSuperiorDN)
Performs a modify DN operation with the provided information using a write
connection from this connection pool.
|
void |
releaseDefunctReadConnection(LDAPConnection connection)
Indicates that the provided read connection is no longer in use, but is
also no longer fit for use.
|
void |
releaseDefunctWriteConnection(LDAPConnection connection)
Indicates that the provided write connection is no longer in use, but is
also no longer fit for use.
|
void |
releaseReadConnection(LDAPConnection connection)
Releases the provided connection back to the read pool.
|
void |
releaseWriteConnection(LDAPConnection connection)
Releases the provided connection back to the write pool.
|
SearchResult |
search(ReadOnlySearchRequest searchRequest)
Processes the provided search request using a read connection from this
connection pool.
|
SearchResult |
search(SearchRequest searchRequest)
Processes the provided search request using a read connection from this
connection pool.
|
SearchResult |
search(SearchResultListener searchResultListener,
java.lang.String baseDN,
SearchScope scope,
DereferencePolicy derefPolicy,
int sizeLimit,
int timeLimit,
boolean typesOnly,
Filter filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResult |
search(SearchResultListener searchResultListener,
java.lang.String baseDN,
SearchScope scope,
DereferencePolicy derefPolicy,
int sizeLimit,
int timeLimit,
boolean typesOnly,
java.lang.String filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResult |
search(SearchResultListener searchResultListener,
java.lang.String baseDN,
SearchScope scope,
Filter filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResult |
search(SearchResultListener searchResultListener,
java.lang.String baseDN,
SearchScope scope,
java.lang.String filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResult |
search(java.lang.String baseDN,
SearchScope scope,
DereferencePolicy derefPolicy,
int sizeLimit,
int timeLimit,
boolean typesOnly,
Filter filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResult |
search(java.lang.String baseDN,
SearchScope scope,
DereferencePolicy derefPolicy,
int sizeLimit,
int timeLimit,
boolean typesOnly,
java.lang.String filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResult |
search(java.lang.String baseDN,
SearchScope scope,
Filter filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResult |
search(java.lang.String baseDN,
SearchScope scope,
java.lang.String filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResultEntry |
searchForEntry(ReadOnlySearchRequest searchRequest)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResultEntry |
searchForEntry(SearchRequest searchRequest)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResultEntry |
searchForEntry(java.lang.String baseDN,
SearchScope scope,
DereferencePolicy derefPolicy,
int timeLimit,
boolean typesOnly,
Filter filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResultEntry |
searchForEntry(java.lang.String baseDN,
SearchScope scope,
DereferencePolicy derefPolicy,
int timeLimit,
boolean typesOnly,
java.lang.String filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResultEntry |
searchForEntry(java.lang.String baseDN,
SearchScope scope,
Filter filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
SearchResultEntry |
searchForEntry(java.lang.String baseDN,
SearchScope scope,
java.lang.String filter,
java.lang.String... attributes)
Processes a search operation with the provided information using a read
connection from this connection pool.
|
public LDAPReadWriteConnectionPool(@NotNull LDAPConnection readConnection, int initialReadConnections, int maxReadConnections, @NotNull LDAPConnection writeConnection, int initialWriteConnections, int maxWriteConnections) throws LDAPException
readConnection
- The connection to use to provide the
template for other connections to be
created for performing read operations.
This connection will be included in the
pool. It must not be null
, and it
must be established to the target server.
It does not necessarily need to be
authenticated if all read connections are
to be unauthenticated.initialReadConnections
- The number of connections to initially
establish in the pool that is created for
read operations. It must be greater than
or equal to one.maxReadConnections
- The maximum number of connections that
should be maintained in the read pool.
It must be greater than or equal to the
initial number of write connections.writeConnection
- The connection to use to provide the
template for other connections to be
created for performing write operations.
This connection will be included in the
pool. It must not be null
, and it
must be established to the target server.
It does not necessarily need to be
authenticated if all write connections are
to be unauthenticated.initialWriteConnections
- The number of connections to initially
establish in the pool that is created for
write operations. It must be greater than
or equal to one.maxWriteConnections
- The maximum number of connections that
should be maintained in the write pool.
It must be greater than or equal to the
initial number of write connections.LDAPException
- If either of the provided connections cannot be
used to initialize the pool, or if a problem occurs
while attempting to establish any of the
connections. If this is thrown, then all
connections associated with this pool (including
the read and write connections provided as
arguments) will be closed.public LDAPReadWriteConnectionPool(@NotNull LDAPConnectionPool readPool, @NotNull LDAPConnectionPool writePool)
readPool
- The connection pool to be used for read operations. It
must not be null
.writePool
- The connection pool to be used for write operations. It
must not be null
.public void close()
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
public boolean isClosed()
true
if this connection pool has been closed, or
false
if not.@NotNull public LDAPConnection getReadConnection() throws LDAPException
LDAPException
- If no read connection is available, or a problem
occurs while creating a new connection to return.public void releaseReadConnection(@NotNull LDAPConnection connection)
connection
- The connection to be released back to the read pool.public void releaseDefunctReadConnection(@NotNull LDAPConnection connection)
connection
- The defunct read connection being released.@NotNull public LDAPConnection getWriteConnection() throws LDAPException
LDAPException
- If no write connection is available, or a problem
occurs while creating a new connection to return.public void releaseWriteConnection(@NotNull LDAPConnection connection)
connection
- The connection to be released back to the write pool.public void releaseDefunctWriteConnection(@NotNull LDAPConnection connection)
connection
- The defunct write connection being released.@NotNull public LDAPConnectionPoolStatistics getReadPoolStatistics()
@NotNull public LDAPConnectionPoolStatistics getWritePoolStatistics()
@NotNull public LDAPConnectionPool getReadPool()
@NotNull public LDAPConnectionPool getWritePool()
@Nullable public RootDSE getRootDSE() throws LDAPException
getRootDSE
in interface LDAPInterface
null
if it is not
available.LDAPException
- If a problem occurs while attempting to retrieve
the server root DSE.@Nullable public Schema getSchema() throws LDAPException
getSchema
in interface LDAPInterface
null
if the
schema information could not be retrieved (e.g, the client does
not have permission to read the server schema).LDAPException
- If a problem occurs while attempting to retrieve
the server schema.@Nullable public Schema getSchema(@Nullable java.lang.String entryDN) throws LDAPException
getSchema
in interface LDAPInterface
entryDN
- The DN of the entry for which to retrieve the associated
schema definitions. It may be null
or an empty
string if the subschemaSubentry attribute should be
retrieved from the server's root DSE.null
if the
schema information could not be retrieved (e.g, the client does
not have permission to read the server schema).LDAPException
- If a problem occurs while attempting to retrieve
the server schema.@Nullable public SearchResultEntry getEntry(@NotNull java.lang.String dn) throws LDAPException
getEntry
in interface LDAPInterface
dn
- The DN of the entry to retrieve. It must not be null
.null
if the target entry does not
exist or no entry was returned (e.g., if the authenticated user
does not have permission to read the target entry).LDAPException
- If a problem occurs while sending the request or
reading the response.@Nullable public SearchResultEntry getEntry(@NotNull java.lang.String dn, @Nullable java.lang.String... attributes) throws LDAPException
getEntry
in interface LDAPInterface
dn
- The DN of the entry to retrieve. It must not be
null
.attributes
- The set of attributes to request for the target entry.
If it is null
, then all user attributes will be
requested.null
if the target entry does not
exist or no entry was returned (e.g., if the authenticated user
does not have permission to read the target entry).LDAPException
- If a problem occurs while sending the request or
reading the response.@NotNull public LDAPResult add(@NotNull java.lang.String dn, @NotNull Attribute... attributes) throws LDAPException
add
in interface LDAPInterface
dn
- The DN of the entry to add. It must not be
null
.attributes
- The set of attributes to include in the entry to add.
It must not be null
.LDAPException
- If the server rejects the add request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult add(@NotNull java.lang.String dn, @NotNull java.util.Collection<Attribute> attributes) throws LDAPException
add
in interface LDAPInterface
dn
- The DN of the entry to add. It must not be
null
.attributes
- The set of attributes to include in the entry to add.
It must not be null
.LDAPException
- If the server rejects the add request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult add(@NotNull Entry entry) throws LDAPException
add
in interface LDAPInterface
entry
- The entry to add. It must not be null
.LDAPException
- If the server rejects the add request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult add(@NotNull java.lang.String... ldifLines) throws LDIFException, LDAPException
add
in interface LDAPInterface
ldifLines
- The lines that comprise an LDIF representation of the
entry to add. It must not be empty or null
.LDIFException
- If the provided entry lines cannot be decoded as an
entry in LDIF form.LDAPException
- If the server rejects the add request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult add(@NotNull AddRequest addRequest) throws LDAPException
add
in interface LDAPInterface
addRequest
- The add request to be processed. It must not be
null
.LDAPException
- If the server rejects the add request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult add(@NotNull ReadOnlyAddRequest addRequest) throws LDAPException
add
in interface LDAPInterface
addRequest
- The add request to be processed. It must not be
null
.LDAPException
- If the server rejects the add request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public BindResult bind(@Nullable java.lang.String bindDN, @Nullable java.lang.String password) throws LDAPException
bindDN
- The bind DN for the bind operation.password
- The password for the simple bind operation.LDAPException
- If the server rejects the bind request, or if a
problem occurs while sending the request or reading
the response.@NotNull public BindResult bind(@NotNull BindRequest bindRequest) throws LDAPException
bindRequest
- The bind request to be processed. It must not be
null
.LDAPException
- If the server rejects the bind request, or if a
problem occurs while sending the request or reading
the response.@NotNull public CompareResult compare(@NotNull java.lang.String dn, @NotNull java.lang.String attributeName, @NotNull java.lang.String assertionValue) throws LDAPException
compare
in interface LDAPInterface
dn
- The DN of the entry in which to make the
comparison. It must not be null
.attributeName
- The attribute name for which to make the
comparison. It must not be null
.assertionValue
- The assertion value to verify in the target entry.
It must not be null
.LDAPException
- If the server rejects the compare request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public CompareResult compare(@NotNull CompareRequest compareRequest) throws LDAPException
compare
in interface LDAPInterface
compareRequest
- The compare request to be processed. It must not
be null
.LDAPException
- If the server rejects the compare request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public CompareResult compare(@NotNull ReadOnlyCompareRequest compareRequest) throws LDAPException
compare
in interface LDAPInterface
compareRequest
- The compare request to be processed. It must not
be null
.LDAPException
- If the server rejects the compare request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult delete(@NotNull java.lang.String dn) throws LDAPException
delete
in interface LDAPInterface
dn
- The DN of the entry to delete. It must not be null
.LDAPException
- If the server rejects the delete request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult delete(@NotNull DeleteRequest deleteRequest) throws LDAPException
delete
in interface LDAPInterface
deleteRequest
- The delete request to be processed. It must not be
null
.LDAPException
- If the server rejects the delete request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult delete(@NotNull ReadOnlyDeleteRequest deleteRequest) throws LDAPException
delete
in interface LDAPInterface
deleteRequest
- The delete request to be processed. It must not be
null
.LDAPException
- If the server rejects the delete request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult modify(@NotNull java.lang.String dn, @NotNull Modification mod) throws LDAPException
modify
in interface LDAPInterface
dn
- The DN of the entry to modify. It must not be null
.mod
- The modification to apply to the target entry. It must not
be null
.LDAPException
- If the server rejects the modify request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult modify(@NotNull java.lang.String dn, @NotNull Modification... mods) throws LDAPException
modify
in interface LDAPInterface
dn
- The DN of the entry to modify. It must not be null
.mods
- The set of modifications to apply to the target entry. It
must not be null
or empty. *LDAPException
- If the server rejects the modify request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult modify(@NotNull java.lang.String dn, @NotNull java.util.List<Modification> mods) throws LDAPException
modify
in interface LDAPInterface
dn
- The DN of the entry to modify. It must not be null
.mods
- The set of modifications to apply to the target entry. It
must not be null
or empty.LDAPException
- If the server rejects the modify request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult modify(@NotNull java.lang.String... ldifModificationLines) throws LDIFException, LDAPException
modify
in interface LDAPInterface
ldifModificationLines
- The lines that comprise an LDIF
representation of a modify change record.
It must not be null
or empty.LDIFException
- If the provided set of lines cannot be parsed as an
LDIF modify change record.LDAPException
- If the server rejects the modify request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult modify(@NotNull ModifyRequest modifyRequest) throws LDAPException
modify
in interface LDAPInterface
modifyRequest
- The modify request to be processed. It must not be
null
.LDAPException
- If the server rejects the modify request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult modify(@NotNull ReadOnlyModifyRequest modifyRequest) throws LDAPException
modify
in interface LDAPInterface
modifyRequest
- The modify request to be processed. It must not be
null
.LDAPException
- If the server rejects the modify request, or if a
problem is encountered while sending the request or
reading the response.@NotNull public LDAPResult modifyDN(@NotNull java.lang.String dn, @NotNull java.lang.String newRDN, boolean deleteOldRDN) throws LDAPException
modifyDN
in interface LDAPInterface
dn
- The current DN for the entry to rename. It must not
be null
.newRDN
- The new RDN to use for the entry. It must not be
null
.deleteOldRDN
- Indicates whether to delete the current RDN value
from the entry.LDAPException
- If the server rejects the modify DN request, or if
a problem is encountered while sending the request
or reading the response.@NotNull public LDAPResult modifyDN(@NotNull java.lang.String dn, @NotNull java.lang.String newRDN, boolean deleteOldRDN, @Nullable java.lang.String newSuperiorDN) throws LDAPException
modifyDN
in interface LDAPInterface
dn
- The current DN for the entry to rename. It must not
be null
.newRDN
- The new RDN to use for the entry. It must not be
null
.deleteOldRDN
- Indicates whether to delete the current RDN value
from the entry.newSuperiorDN
- The new superior DN for the entry. It may be
null
if the entry is not to be moved below a
new parent.LDAPException
- If the server rejects the modify DN request, or if
a problem is encountered while sending the request
or reading the response.@NotNull public LDAPResult modifyDN(@NotNull ModifyDNRequest modifyDNRequest) throws LDAPException
modifyDN
in interface LDAPInterface
modifyDNRequest
- The modify DN request to be processed. It must
not be null
.LDAPException
- If the server rejects the modify DN request, or if
a problem is encountered while sending the request
or reading the response.@NotNull public LDAPResult modifyDN(@NotNull ReadOnlyModifyDNRequest modifyDNRequest) throws LDAPException
modifyDN
in interface LDAPInterface
modifyDNRequest
- The modify DN request to be processed. It must
not be null
.LDAPException
- If the server rejects the modify DN request, or if
a problem is encountered while sending the request
or reading the response.@NotNull public SearchResult search(@NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull java.lang.String filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
SearchResult
object that is returned.
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references.search
in interface LDAPInterface
baseDN
- The base DN for the search request. It must not be
null
.scope
- The scope that specifies the range of entries that
should be examined for the search.filter
- The string representation of the filter to use to
identify matching entries. It must not be
null
.attributes
- The set of attributes that should be returned in
matching entries. It may be null
or empty if
the default attribute set (all user attributes) is to
be requested.LDAPSearchException
- If the search does not complete successfully,
or if a problem is encountered while parsing
the provided filter string, sending the
request, or reading the response. If one
or more entries or references were returned
before the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@NotNull public SearchResult search(@NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull Filter filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
SearchResult
object that is returned.
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references.search
in interface LDAPInterface
baseDN
- The base DN for the search request. It must not be
null
.scope
- The scope that specifies the range of entries that
should be examined for the search.filter
- The filter to use to identify matching entries. It
must not be null
.attributes
- The set of attributes that should be returned in
matching entries. It may be null
or empty if
the default attribute set (all user attributes) is to
be requested.LDAPSearchException
- If the search does not complete successfully,
or if a problem is encountered while sending
the request or reading the response. If one
or more entries or references were returned
before the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@NotNull public SearchResult search(@Nullable SearchResultListener searchResultListener, @NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull java.lang.String filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references (although if a search result listener was provided,
then it will have been used to make any entries and references available,
and they will not be available through the getSearchEntries
and
getSearchReferences
methods).search
in interface LDAPInterface
searchResultListener
- The search result listener that should be
used to return results to the client. It may
be null
if the search results should
be collected internally and returned in the
SearchResult
object.baseDN
- The base DN for the search request. It must
not be null
.scope
- The scope that specifies the range of entries
that should be examined for the search.filter
- The string representation of the filter to
use to identify matching entries. It must
not be null
.attributes
- The set of attributes that should be returned
in matching entries. It may be null
or empty if the default attribute set (all
user attributes) is to be requested.LDAPSearchException
- If the search does not complete successfully,
or if a problem is encountered while parsing
the provided filter string, sending the
request, or reading the response. If one
or more entries or references were returned
before the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@NotNull public SearchResult search(@Nullable SearchResultListener searchResultListener, @NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull Filter filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references (although if a search result listener was provided,
then it will have been used to make any entries and references available,
and they will not be available through the getSearchEntries
and
getSearchReferences
methods).search
in interface LDAPInterface
searchResultListener
- The search result listener that should be
used to return results to the client. It may
be null
if the search results should
be collected internally and returned in the
SearchResult
object.baseDN
- The base DN for the search request. It must
not be null
.scope
- The scope that specifies the range of entries
that should be examined for the search.filter
- The filter to use to identify matching
entries. It must not be null
.attributes
- The set of attributes that should be returned
in matching entries. It may be null
or empty if the default attribute set (all
user attributes) is to be requested.LDAPSearchException
- If the search does not complete successfully,
or if a problem is encountered while sending
the request or reading the response. If one
or more entries or references were returned
before the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@NotNull public SearchResult search(@NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull DereferencePolicy derefPolicy, int sizeLimit, int timeLimit, boolean typesOnly, @NotNull java.lang.String filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
SearchResult
object that is returned.
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references.search
in interface LDAPInterface
baseDN
- The base DN for the search request. It must not be
null
.scope
- The scope that specifies the range of entries that
should be examined for the search.derefPolicy
- The dereference policy the server should use for any
aliases encountered while processing the search.sizeLimit
- The maximum number of entries that the server should
return for the search. A value of zero indicates that
there should be no limit.timeLimit
- The maximum length of time in seconds that the server
should spend processing this search request. A value
of zero indicates that there should be no limit.typesOnly
- Indicates whether to return only attribute names in
matching entries, or both attribute names and values.filter
- The string representation of the filter to use to
identify matching entries. It must not be
null
.attributes
- The set of attributes that should be returned in
matching entries. It may be null
or empty if
the default attribute set (all user attributes) is to
be requested.LDAPSearchException
- If the search does not complete successfully,
or if a problem is encountered while parsing
the provided filter string, sending the
request, or reading the response. If one
or more entries or references were returned
before the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@NotNull public SearchResult search(@NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull DereferencePolicy derefPolicy, int sizeLimit, int timeLimit, boolean typesOnly, @NotNull Filter filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
SearchResult
object that is returned.
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references.search
in interface LDAPInterface
baseDN
- The base DN for the search request. It must not be
null
.scope
- The scope that specifies the range of entries that
should be examined for the search.derefPolicy
- The dereference policy the server should use for any
aliases encountered while processing the search.sizeLimit
- The maximum number of entries that the server should
return for the search. A value of zero indicates that
there should be no limit.timeLimit
- The maximum length of time in seconds that the server
should spend processing this search request. A value
of zero indicates that there should be no limit.typesOnly
- Indicates whether to return only attribute names in
matching entries, or both attribute names and values.filter
- The filter to use to identify matching entries. It
must not be null
.attributes
- The set of attributes that should be returned in
matching entries. It may be null
or empty if
the default attribute set (all user attributes) is to
be requested.LDAPSearchException
- If the search does not complete successfully,
or if a problem is encountered while sending
the request or reading the response. If one
or more entries or references were returned
before the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@NotNull public SearchResult search(@Nullable SearchResultListener searchResultListener, @NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull DereferencePolicy derefPolicy, int sizeLimit, int timeLimit, boolean typesOnly, @NotNull java.lang.String filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references (although if a search result listener was provided,
then it will have been used to make any entries and references available,
and they will not be available through the getSearchEntries
and
getSearchReferences
methods).search
in interface LDAPInterface
searchResultListener
- The search result listener that should be
used to return results to the client. It may
be null
if the search results should
be collected internally and returned in the
SearchResult
object.baseDN
- The base DN for the search request. It must
not be null
.scope
- The scope that specifies the range of entries
that should be examined for the search.derefPolicy
- The dereference policy the server should use
for any aliases encountered while processing
the search.sizeLimit
- The maximum number of entries that the server
should return for the search. A value of
zero indicates that there should be no limit.timeLimit
- The maximum length of time in seconds that
the server should spend processing this
search request. A value of zero indicates
that there should be no limit.typesOnly
- Indicates whether to return only attribute
names in matching entries, or both attribute
names and values.filter
- The string representation of the filter to
use to identify matching entries. It must
not be null
.attributes
- The set of attributes that should be returned
in matching entries. It may be null
or empty if the default attribute set (all
user attributes) is to be requested.LDAPSearchException
- If the search does not complete successfully,
or if a problem is encountered while parsing
the provided filter string, sending the
request, or reading the response. If one
or more entries or references were returned
before the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@NotNull public SearchResult search(@Nullable SearchResultListener searchResultListener, @NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull DereferencePolicy derefPolicy, int sizeLimit, int timeLimit, boolean typesOnly, @NotNull Filter filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references (although if a search result listener was provided,
then it will have been used to make any entries and references available,
and they will not be available through the getSearchEntries
and
getSearchReferences
methods).search
in interface LDAPInterface
searchResultListener
- The search result listener that should be
used to return results to the client. It may
be null
if the search results should
be collected internally and returned in the
SearchResult
object.baseDN
- The base DN for the search request. It must
not be null
.scope
- The scope that specifies the range of entries
that should be examined for the search.derefPolicy
- The dereference policy the server should use
for any aliases encountered while processing
the search.sizeLimit
- The maximum number of entries that the server
should return for the search. A value of
zero indicates that there should be no limit.timeLimit
- The maximum length of time in seconds that
the server should spend processing this
search request. A value of zero indicates
that there should be no limit.typesOnly
- Indicates whether to return only attribute
names in matching entries, or both attribute
names and values.filter
- The filter to use to identify matching
entries. It must not be null
.attributes
- The set of attributes that should be returned
in matching entries. It may be null
or empty if the default attribute set (all
user attributes) is to be requested.LDAPSearchException
- If the search does not complete successfully,
or if a problem is encountered while sending
the request or reading the response. If one
or more entries or references were returned
before the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@NotNull public SearchResult search(@NotNull SearchRequest searchRequest) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references (although if a search result listener was provided,
then it will have been used to make any entries and references available,
and they will not be available through the getSearchEntries
and
getSearchReferences
methods).search
in interface LDAPInterface
searchRequest
- The search request to be processed. It must not be
null
.LDAPSearchException
- If the search does not complete successfully,
or if a problem is encountered while sending
the request or reading the response. If one
or more entries or references were returned
before the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@NotNull public SearchResult search(@NotNull ReadOnlySearchRequest searchRequest) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references (although if a search result listener was provided,
then it will have been used to make any entries and references available,
and they will not be available through the getSearchEntries
and
getSearchReferences
methods).search
in interface LDAPInterface
searchRequest
- The search request to be processed. It must not be
null
.LDAPSearchException
- If the search does not complete successfully,
or if a problem is encountered while sending
the request or reading the response. If one
or more entries or references were returned
before the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@Nullable public SearchResultEntry searchForEntry(@NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull java.lang.String filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references.searchForEntry
in interface LDAPInterface
baseDN
- The base DN for the search request. It must not be
null
.scope
- The scope that specifies the range of entries that
should be examined for the search.filter
- The string representation of the filter to use to
identify matching entries. It must not be
null
.attributes
- The set of attributes that should be returned in
matching entries. It may be null
or empty if
the default attribute set (all user attributes) is to
be requested.null
if no
entry was returned or the base entry does not exist.LDAPSearchException
- If the search does not complete successfully,
if more than a single entry is returned, or
if a problem is encountered while parsing the
provided filter string, sending the request,
or reading the response. If one or more
entries or references were returned before
the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@Nullable public SearchResultEntry searchForEntry(@NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull Filter filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references.searchForEntry
in interface LDAPInterface
baseDN
- The base DN for the search request. It must not be
null
.scope
- The scope that specifies the range of entries that
should be examined for the search.filter
- The string representation of the filter to use to
identify matching entries. It must not be
null
.attributes
- The set of attributes that should be returned in
matching entries. It may be null
or empty if
the default attribute set (all user attributes) is to
be requested.null
if no
entry was returned or the base entry does not exist.LDAPSearchException
- If the search does not complete successfully,
if more than a single entry is returned, or
if a problem is encountered while parsing the
provided filter string, sending the request,
or reading the response. If one or more
entries or references were returned before
the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@Nullable public SearchResultEntry searchForEntry(@NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull DereferencePolicy derefPolicy, int timeLimit, boolean typesOnly, @NotNull java.lang.String filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references.searchForEntry
in interface LDAPInterface
baseDN
- The base DN for the search request. It must not be
null
.scope
- The scope that specifies the range of entries that
should be examined for the search.derefPolicy
- The dereference policy the server should use for any
aliases encountered while processing the search.timeLimit
- The maximum length of time in seconds that the server
should spend processing this search request. A value
of zero indicates that there should be no limit.typesOnly
- Indicates whether to return only attribute names in
matching entries, or both attribute names and values.filter
- The string representation of the filter to use to
identify matching entries. It must not be
null
.attributes
- The set of attributes that should be returned in
matching entries. It may be null
or empty if
the default attribute set (all user attributes) is to
be requested.null
if no
entry was returned or the base entry does not exist.LDAPSearchException
- If the search does not complete successfully,
if more than a single entry is returned, or
if a problem is encountered while parsing the
provided filter string, sending the request,
or reading the response. If one or more
entries or references were returned before
the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@Nullable public SearchResultEntry searchForEntry(@NotNull java.lang.String baseDN, @NotNull SearchScope scope, @NotNull DereferencePolicy derefPolicy, int timeLimit, boolean typesOnly, @NotNull Filter filter, @Nullable java.lang.String... attributes) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references.searchForEntry
in interface LDAPInterface
baseDN
- The base DN for the search request. It must not be
null
.scope
- The scope that specifies the range of entries that
should be examined for the search.derefPolicy
- The dereference policy the server should use for any
aliases encountered while processing the search.timeLimit
- The maximum length of time in seconds that the server
should spend processing this search request. A value
of zero indicates that there should be no limit.typesOnly
- Indicates whether to return only attribute names in
matching entries, or both attribute names and values.filter
- The filter to use to identify matching entries. It
must not be null
.attributes
- The set of attributes that should be returned in
matching entries. It may be null
or empty if
the default attribute set (all user attributes) is to
be requested.null
if no
entry was returned or the base entry does not exist.LDAPSearchException
- If the search does not complete successfully,
if more than a single entry is returned, or
if a problem is encountered while parsing the
provided filter string, sending the request,
or reading the response. If one or more
entries or references were returned before
the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@Nullable public SearchResultEntry searchForEntry(@NotNull SearchRequest searchRequest) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references.searchForEntry
in interface LDAPInterface
searchRequest
- The search request to be processed. If it is
configured with a search result listener or a size
limit other than one, then the provided request will
be duplicated with the appropriate settings.null
if no
entry was returned or the base entry does not exist.LDAPSearchException
- If the search does not complete successfully,
if more than a single entry is returned, or
if a problem is encountered while parsing the
provided filter string, sending the request,
or reading the response. If one or more
entries or references were returned before
the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.@Nullable public SearchResultEntry searchForEntry(@NotNull ReadOnlySearchRequest searchRequest) throws LDAPSearchException
LDAPSearchException
will be thrown In some cases, one or more
search result entries or references may have been returned before the
failure response is received. In this case, the
LDAPSearchException
methods like getEntryCount
,
getSearchEntries
, getReferenceCount
, and
getSearchReferences
may be used to obtain information about those
entries and references.searchForEntry
in interface LDAPInterface
searchRequest
- The search request to be processed. If it is
configured with a search result listener or a size
limit other than one, then the provided request will
be duplicated with the appropriate settings.null
if no
entry was returned or the base entry does not exist.LDAPSearchException
- If the search does not complete successfully,
if more than a single entry is returned, or
if a problem is encountered while parsing the
provided filter string, sending the request,
or reading the response. If one or more
entries or references were returned before
the failure was encountered, then the
LDAPSearchException
object may be
examined to obtain information about those
entries and/or references.protected void finalize() throws java.lang.Throwable
finalize
in class java.lang.Object
java.lang.Throwable
- If an unexpected problem occurs.