Interface LdapConnection
-
- All Superinterfaces:
AutoCloseable
,Closeable
- All Known Subinterfaces:
LdapAsyncConnection
- All Known Implementing Classes:
AbstractLdapConnection
,LdapConnectionWrapper
,LdapNetworkConnection
,MonitoringLdapConnection
public interface LdapConnection extends Closeable
The root interface for all the LDAP connection implementations. All operations defined in this interface are blocking (synchronous).- Author:
- Apache Directory Project
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description void
abandon(int messageId)
Abandons a request submitted to the server for performing a particular operation.void
abandon(AbandonRequest abandonRequest)
An abandon request essentially with the request message ID of the operation to be canceled and/or potentially some controls and timeout (the controls and timeout are not mandatory).void
add(Entry entry)
Add an entry to the server.AddResponse
add(AddRequest addRequest)
Add an entry present in theAddRequest
to the server.void
anonymousBind()
Anonymous bind on a server.void
bind()
Bind on a server, using theLdapConnectionConfig
information of this connection.void
bind(String name)
Unauthenticated authentication bind on a server.void
bind(String name, String credentials)
Simple bind on a server.BindResponse
bind(BindRequest bindRequest)
Bind to the server using a bind request object.void
bind(Dn name)
Unauthenticated authentication bind on a server.void
bind(Dn name, String credentials)
Simple bind on a server.BindResponse
bind(SaslRequest saslRequest)
SASL Bind to the server using a SASL request object.void
close()
Disconnect from the remote LDAP server.boolean
compare(String dn, String attributeName, byte[] value)
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.boolean
compare(String dn, String attributeName, String value)
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.boolean
compare(String dn, String attributeName, Value value)
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.CompareResponse
compare(CompareRequest compareRequest)
Compares an entry's attribute's value with that of the given value.boolean
compare(Dn dn, String attributeName, byte[] value)
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.boolean
compare(Dn dn, String attributeName, String value)
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.boolean
compare(Dn dn, String attributeName, Value value)
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.boolean
connect()
Connect to the remote LDAP server.void
delete(String dn)
Deletes the entry with the given distinguished name.DeleteResponse
delete(DeleteRequest deleteRequest)
Performs a delete operation based on the delete request object.void
delete(Dn dn)
Deletes the entry with the given distinguished name.boolean
doesFutureExistFor(int messageId)
Deprecated.Throwable
exceptionCaught()
tell if an exception was caught while processing the request or a response.boolean
exists(String dn)
Tells if an entry exists in the server.boolean
exists(Dn dn)
Tells if an Entry exists in the server.ExtendedResponse
extended(String oid)
Sends a extended operation request to the server with the given OID and no value.ExtendedResponse
extended(String oid, byte[] value)
Sends a extended operation request to the server with the given OID and value.ExtendedResponse
extended(Oid oid)
Sends a extended operation request to the server with the given OID and no value.ExtendedResponse
extended(Oid oid, byte[] value)
Sends a extended operation request to the server with the given OID and value.ExtendedResponse
extended(ExtendedRequest extendedRequest)
Performs an extended operation based on the extended request object.BinaryAttributeDetector
getBinaryAttributeDetector()
LdapApiService
getCodecService()
Gets the LDAP CODEC service responsible for encoding and decoding messages.Entry
getRootDse()
Get back the RooDSE from the connected server.Entry
getRootDse(String... attributes)
Get back the RooDSE from the connected server.SchemaManager
getSchemaManager()
List<String>
getSupportedControls()
Get the Controls supported by server.boolean
isAuthenticated()
Check if the connection is authenticated.boolean
isConnected()
Check if the connection is establishedboolean
isControlSupported(String controlOID)
Checks if a control with the given OID is supported.boolean
isRequestCompleted(int messageId)
Checks if a request has been completed, or not.void
loadSchema()
Loads all the default schemas that are bundled with the API.
Note: This method enables all schemas prior to loading.void
loadSchemaRelaxed()
Loads all the default schemas that are bundled with the API, in a relaxed mode.
Note: This method enables all schemas prior to loading.
The relaxed mode will allow inconsistencies in the schema.Entry
lookup(String dn)
Searches for an entry having the given distinguished name.Entry
lookup(String dn, String... attributes)
Searches for an entry having the given distinguished name.Entry
lookup(String dn, Control[] controls, String... attributes)
Searches for an entry having the given distinguished name.Entry
lookup(Dn dn)
Searches for an entry having the given distinguished name..Entry
lookup(Dn dn, String... attributes)
Searches for an entry having the given distinguished name.Entry
lookup(Dn dn, Control[] controls, String... attributes)
Searches for an entry having the given distinguished name.void
modify(String dn, Modification... modifications)
Applies all the modifications to the entry specified by its distinguished name.void
modify(Entry entry, ModificationOperation modOp)
Modifies all the attributes present in the entry by applying the same operation.ModifyResponse
modify(ModifyRequest modRequest)
Performs an modify operation based on the modifications present in the modify request.void
modify(Dn dn, Modification... modifications)
Applies all the modifications to the entry specified by its distinguished name.ModifyDnResponse
modifyDn(ModifyDnRequest modDnRequest)
Performs the modifyDn operation based on the given request object.void
move(String entryDn, String newSuperiorDn)
Moves the given entry distinguished name under the new superior distinguished name.void
move(Dn entryDn, Dn newSuperiorDn)
Moves the given entry distinguished name under the new superior distinguished name.void
moveAndRename(String entryDn, String newDn)
Moves and renames the given entry distinguished name.void
moveAndRename(String entryDn, String newDn, boolean deleteOldRdn)
Moves and renames the given entryDn.void
moveAndRename(Dn entryDn, Dn newDn)
Moves and renames the given entryDn.void
moveAndRename(Dn entryDn, Dn newDn, boolean deleteOldRdn)
Moves and renames the given entryDn.void
rename(String entryDn, String newRdn)
Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name.void
rename(String entryDn, String newRdn, boolean deleteOldRdn)
Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name if deleteOldRdn is set to true.void
rename(Dn entryDn, Rdn newRdn)
Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name.void
rename(Dn entryDn, Rdn newRdn, boolean deleteOldRdn)
Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name if deleteOldRdn is set to true.EntryCursor
search(String baseDn, String filter, SearchScope scope, String... attributes)
Do a search, on the base object, using the given filter and scope.SearchCursor
search(SearchRequest searchRequest)
Performs search using a search request object.EntryCursor
search(Dn baseDn, String filter, SearchScope scope, String... attributes)
Do a search, on the base object, using the given filter and scope.void
setBinaryAttributeDetector(BinaryAttributeDetector binaryAttributeDetecter)
Sets the object responsible for the detection of binary attributes.void
setSchemaManager(SchemaManager schemaManager)
sets a SchemaManager to be used by this connectionvoid
setTimeOut(long timeOut)
Set the timeout for the responses.void
unBind()
UnBind from a server.
-
-
-
Method Detail
-
isConnected
boolean isConnected()
Check if the connection is established- Returns:
true
if the connection is established
-
isAuthenticated
boolean isAuthenticated()
Check if the connection is authenticated.- Returns:
true
if the connection is authenticated
-
connect
boolean connect() throws LdapException
Connect to the remote LDAP server.- Returns:
true
if the connection is established, false otherwise- Throws:
LdapException
- if some error occurred
-
exceptionCaught
Throwable exceptionCaught()
tell if an exception was caught while processing the request or a response.- Returns:
- The exception if there was one thrown while processing a request or a response
-
close
void close() throws IOException
Disconnect from the remote LDAP server.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
IOException
- if some I/O error occurs
-
add
void add(Entry entry) throws LdapException
Add an entry to the server.- Parameters:
entry
- The entry to add- Throws:
LdapException
- if some error occurred
-
add
AddResponse add(AddRequest addRequest) throws LdapException
Add an entry present in theAddRequest
to the server.- Parameters:
addRequest
- the request object containing an entry and controls (if any)- Returns:
- the add operation's response
- Throws:
LdapException
- if some error occurred
-
abandon
void abandon(int messageId)
Abandons a request submitted to the server for performing a particular operation. The abandonRequest is always non-blocking, because no response is expected- Parameters:
messageId
- the ID of the request message sent to the server
-
abandon
void abandon(AbandonRequest abandonRequest)
An abandon request essentially with the request message ID of the operation to be canceled and/or potentially some controls and timeout (the controls and timeout are not mandatory). The abandonRequest is always non-blocking, because no response is expected.- Parameters:
abandonRequest
- the abandon operation's request
-
bind
void bind() throws LdapException
Bind on a server, using theLdapConnectionConfig
information of this connection.- Throws:
LdapException
- if some error occurred
-
anonymousBind
void anonymousBind() throws LdapException
Anonymous bind on a server.- Throws:
LdapException
- if some error occurred
-
bind
void bind(String name) throws LdapException
Unauthenticated authentication bind on a server.- Parameters:
name
- The name used to authenticate the user. It must be a valid distinguished name.- Throws:
LdapException
- if some error occurred
-
bind
void bind(String name, String credentials) throws LdapException
Simple bind on a server.- Parameters:
name
- The name used to authenticate the user. It must be a valid distinguished name.credentials
- The password, it can't benull
- Throws:
LdapException
- if some error occurred
-
bind
void bind(Dn name) throws LdapException
Unauthenticated authentication bind on a server.- Parameters:
name
- The name used to authenticate the user.- Throws:
LdapException
- if some error occurred
-
bind
void bind(Dn name, String credentials) throws LdapException
Simple bind on a server.- Parameters:
name
- The name used to authenticate the user.credentials
- The password, it can't be null- Throws:
LdapException
- if some error occurred
-
bind
BindResponse bind(BindRequest bindRequest) throws LdapException
Bind to the server using a bind request object.- Parameters:
bindRequest
- The bind request object containing all the needed parameters- Returns:
- A
BindResponse
containing the result - Throws:
LdapException
- if some error occurred
-
bind
BindResponse bind(SaslRequest saslRequest) throws LdapException
SASL Bind to the server using a SASL request object.- Parameters:
saslRequest
- The SASL request object containing all the needed parameters- Returns:
- A
BindResponse
containing the result - Throws:
LdapException
- if some error occurred
-
search
EntryCursor search(Dn baseDn, String filter, SearchScope scope, String... attributes) throws LdapException
Do a search, on the base object, using the given filter and scope. The SearchRequest parameters default to- DerefAlias : ALWAYS
- SizeLimit : none
- TimeLimit : none
- TypesOnly : false
- Parameters:
baseDn
- The base for the search. It must be a valid distinguished name and can't be emtpyfilter
- The filter to use for this search. It can't be emptyscope
- The search scope : OBJECT, ONELEVEL or SUBTREEattributes
- The attributes to use for this search- Returns:
- An
EntryCursor
on the result. - Throws:
LdapException
- if some error occurred
-
search
EntryCursor search(String baseDn, String filter, SearchScope scope, String... attributes) throws LdapException
Do a search, on the base object, using the given filter and scope. The SearchRequest parameters default to- DerefAlias : ALWAYS
- SizeLimit : none
- TimeLimit : none
- TypesOnly : false
- Parameters:
baseDn
- The base for the search. It must be a valid distinguished name, and can't be emtpyfilter
- The filter to use for this search. It can't be emptyscope
- The search scope : OBJECT, ONELEVEL or SUBTREEattributes
- The attributes to use for this search- Returns:
- An
EntryCursor
on the result. - Throws:
LdapException
- if some error occurred
-
search
SearchCursor search(SearchRequest searchRequest) throws LdapException
Performs search using a search request object.- Parameters:
searchRequest
- The search request object containing all the needed information- Returns:
- a search cursor on the result.
- Throws:
LdapException
- if some error occurred
-
unBind
void unBind() throws LdapException
UnBind from a server. This is a request which expects no response.- Throws:
LdapException
- if some error occurred
-
setTimeOut
void setTimeOut(long timeOut)
Set the timeout for the responses. We won't wait longer than this value.- Parameters:
timeOut
- The timeout, in milliseconds
-
modify
void modify(Dn dn, Modification... modifications) throws LdapException
Applies all the modifications to the entry specified by its distinguished name.- Parameters:
dn
- The entry's distinguished namemodifications
- The list of modifications to be applied- Throws:
LdapException
- in case of modify operation failure or timeout happens
-
modify
void modify(String dn, Modification... modifications) throws LdapException
Applies all the modifications to the entry specified by its distinguished name.- Parameters:
dn
- The entry's distinguished name, it must be a valid distinguished name.modifications
- The list of modifications to be applied- Throws:
LdapException
- in case of modify operation failure or timeout happens
-
modify
void modify(Entry entry, ModificationOperation modOp) throws LdapException
Modifies all the attributes present in the entry by applying the same operation.- Parameters:
entry
- the entry with the attributes to be modifiedmodOp
- the operation to be applied on all the attributes of the above entry- Throws:
LdapException
- in case of modify operation failure or timeout happens
-
modify
ModifyResponse modify(ModifyRequest modRequest) throws LdapException
Performs an modify operation based on the modifications present in the modify request.- Parameters:
modRequest
- the modify request object- Returns:
- the modify operation's response
- Throws:
LdapException
- in case of modify operation failure or timeout happens
-
rename
void rename(String entryDn, String newRdn) throws LdapException
Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name.- Parameters:
entryDn
- the target distinguished name.newRdn
- new relative distinguished name for the target distinguished name.- Throws:
LdapException
- if some error occurred- See Also:
rename(String, String, boolean)
-
rename
void rename(Dn entryDn, Rdn newRdn) throws LdapException
Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name.- Parameters:
entryDn
- the target distinguished name.newRdn
- new relative distinguished name for the target distinguished name.- Throws:
LdapException
- if some error occurred- See Also:
rename(Dn, Rdn, boolean)
-
rename
void rename(String entryDn, String newRdn, boolean deleteOldRdn) throws LdapException
Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name if deleteOldRdn is set to true.- Parameters:
entryDn
- the target distinguished name.newRdn
- new relative distinguished name for the target distinguished name.deleteOldRdn
- flag to indicate whether to delete the old relative distinguished name- Throws:
LdapException
- if some error occurred- See Also:
rename(Dn, Rdn, boolean)
-
rename
void rename(Dn entryDn, Rdn newRdn, boolean deleteOldRdn) throws LdapException
Renames the given entryDn with new relative distinguished name and deletes the old relative distinguished name if deleteOldRdn is set to true.- Parameters:
entryDn
- the target distinguished name.newRdn
- new relative distinguished name for the target distinguished name.deleteOldRdn
- flag to indicate whether to delete the old relative distinguished name- Throws:
LdapException
- if some error occurred
-
move
void move(String entryDn, String newSuperiorDn) throws LdapException
Moves the given entry distinguished name under the new superior distinguished name.- Parameters:
entryDn
- the distinguished name of the target entrynewSuperiorDn
- distinguished name of the new parent/superior- Throws:
LdapException
- if some error occurred- See Also:
move(Dn, Dn)
-
move
void move(Dn entryDn, Dn newSuperiorDn) throws LdapException
Moves the given entry distinguished name under the new superior distinguished name.- Parameters:
entryDn
- the distinguished name of the target entrynewSuperiorDn
- distinguished name of the new parent/superior- Throws:
LdapException
- if some error occurred
-
moveAndRename
void moveAndRename(Dn entryDn, Dn newDn) throws LdapException
Moves and renames the given entryDn. The old relative distinguished name will be deleted.- Parameters:
entryDn
- The original entry distinguished name.newDn
- The new entry distinguished name.- Throws:
LdapException
- if some error occurred- See Also:
moveAndRename(Dn, Dn, boolean)
-
moveAndRename
void moveAndRename(String entryDn, String newDn) throws LdapException
Moves and renames the given entry distinguished name. The old relative distinguished name will be deleted- Parameters:
entryDn
- The original entry distinguished name.newDn
- The new entry distinguished name.- Throws:
LdapException
- if some error occurred- See Also:
moveAndRename(Dn, Dn, boolean)
-
moveAndRename
void moveAndRename(Dn entryDn, Dn newDn, boolean deleteOldRdn) throws LdapException
Moves and renames the given entryDn. The old relative distinguished name will be deleted if requested.- Parameters:
entryDn
- The original entry distinguished name.newDn
- The new entry distinguished name.deleteOldRdn
- Tells if the old relative distinguished name must be removed- Throws:
LdapException
- if some error occurred
-
moveAndRename
void moveAndRename(String entryDn, String newDn, boolean deleteOldRdn) throws LdapException
Moves and renames the given entryDn. The old relative distinguished name will be deleted if requested.- Parameters:
entryDn
- The original entry distinguished name.newDn
- The new entry distinguished name.deleteOldRdn
- Tells if the old relative distinguished name must be removed- Throws:
LdapException
- if some error occurred
-
modifyDn
ModifyDnResponse modifyDn(ModifyDnRequest modDnRequest) throws LdapException
Performs the modifyDn operation based on the given request object.- Parameters:
modDnRequest
- the request object- Returns:
- modifyDn operation's response
- Throws:
LdapException
- if some error occurred
-
delete
void delete(String dn) throws LdapException
Deletes the entry with the given distinguished name.- Parameters:
dn
- the target entry's distinguished name, it must be a valid distinguished name.- Throws:
LdapException
- If the distinguished name is not valid or if the deletion failed
-
delete
void delete(Dn dn) throws LdapException
Deletes the entry with the given distinguished name.- Parameters:
dn
- the target entry's distinguished name- Throws:
LdapException
- If the distinguished name is not valid or if the deletion failed
-
delete
DeleteResponse delete(DeleteRequest deleteRequest) throws LdapException
Performs a delete operation based on the delete request object.- Parameters:
deleteRequest
- the delete operation's request- Returns:
- delete operation's response
- Throws:
LdapException
- If the distinguished name is not valid or if the deletion failed
-
compare
boolean compare(String dn, String attributeName, String value) throws LdapException
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.- Parameters:
dn
- the target entry's distinguished name, it must be a valid distinguished name.attributeName
- the attribute's namevalue
- a String value with which the target entry's attribute value to be compared with- Returns:
true
if the value matches,false
otherwise- Throws:
LdapException
- if some error occurred
-
compare
boolean compare(String dn, String attributeName, byte[] value) throws LdapException
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.- Parameters:
dn
- the target entry's distinguished name, it must be a valid distinguished name.attributeName
- the attribute's namevalue
- a byte[] value with which the target entry's attribute value to be compared with- Returns:
true
if the value matches,false
otherwise- Throws:
LdapException
- if some error occurred
-
compare
boolean compare(String dn, String attributeName, Value value) throws LdapException
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.- Parameters:
dn
- the target entry's distinguished name, it must be a valid distinguished name.attributeName
- the attribute's namevalue
- a Value<?> value with which the target entry's attribute value to be compared with- Returns:
true
if the value matches,false
otherwise- Throws:
LdapException
- if some error occurred
-
compare
boolean compare(Dn dn, String attributeName, String value) throws LdapException
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.- Parameters:
dn
- the target entry's distinguished nameattributeName
- the attribute's namevalue
- a String value with which the target entry's attribute value to be compared with- Returns:
true
if the value matches,false
otherwise- Throws:
LdapException
- if some error occurred
-
compare
boolean compare(Dn dn, String attributeName, byte[] value) throws LdapException
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.- Parameters:
dn
- the target entry's distinguished nameattributeName
- the attribute's namevalue
- a byte[] value with which the target entry's attribute value to be compared with- Returns:
true
if the value matches,false
otherwise- Throws:
LdapException
- if some error occurred
-
compare
boolean compare(Dn dn, String attributeName, Value value) throws LdapException
Compares whether a given attribute's value matches that of the existing value of the attribute present in the entry with the given distinguished name.- Parameters:
dn
- the target entry's distinguished nameattributeName
- the attribute's namevalue
- a Value<?> value with which the target entry's attribute value to be compared with- Returns:
true
if the value matches,false
otherwise- Throws:
LdapException
- if some error occurred
-
compare
CompareResponse compare(CompareRequest compareRequest) throws LdapException
Compares an entry's attribute's value with that of the given value.- Parameters:
compareRequest
- the compare request which contains the target distinguished name, attribute name and value- Returns:
- compare operation's response
- Throws:
LdapException
- if some error occurred
-
extended
ExtendedResponse extended(String oid) throws LdapException
Sends a extended operation request to the server with the given OID and no value.- Parameters:
oid
- the object identifier of the extended operation- Returns:
- extended operation's response
- Throws:
LdapException
- if some error occurred- See Also:
extended(org.apache.directory.api.asn1.util.Oid, byte[])
-
extended
ExtendedResponse extended(String oid, byte[] value) throws LdapException
Sends a extended operation request to the server with the given OID and value.- Parameters:
oid
- the object identifier of the extended operationvalue
- value to be used by the extended operation, can be a null value- Returns:
- extended operation's response
- Throws:
LdapException
- if some error occurred- See Also:
extended(org.apache.directory.api.asn1.util.Oid, byte[])
-
extended
ExtendedResponse extended(Oid oid) throws LdapException
Sends a extended operation request to the server with the given OID and no value.- Parameters:
oid
- the object identifier of the extended operation- Returns:
- extended operation's response
- Throws:
LdapException
- if some error occurred- See Also:
extended(org.apache.directory.api.asn1.util.Oid, byte[])
-
extended
ExtendedResponse extended(Oid oid, byte[] value) throws LdapException
Sends a extended operation request to the server with the given OID and value.- Parameters:
oid
- the object identifier of the extended operationvalue
- value to be used by the extended operation, can be a null value- Returns:
- extended operation's response
- Throws:
LdapException
- if some error occurred
-
extended
ExtendedResponse extended(ExtendedRequest extendedRequest) throws LdapException
Performs an extended operation based on the extended request object.- Parameters:
extendedRequest
- the extended operation's request- Returns:
- Extended operation's response
- Throws:
LdapException
- if the extended operation failed
-
exists
boolean exists(String dn) throws LdapException
Tells if an entry exists in the server.- Parameters:
dn
- The distinguished name of the entry to check for existence, must be a valid distinguished name.- Returns:
true
if the entry exists,false
otherwise. Note that if the entry exists but if the user does not have the permission to read it,false
will also be returned- Throws:
LdapException
- if some error occurred
-
exists
boolean exists(Dn dn) throws LdapException
Tells if an Entry exists in the server.- Parameters:
dn
- The distinguished name of the entry to check for existence- Returns:
true
if the entry exists,false
otherwise. Note that if the entry exists but if the user does not have the permission to read it,false
will also be returned- Throws:
LdapException
- if some error occurred
-
getRootDse
Entry getRootDse() throws LdapException
Get back the RooDSE from the connected server. All user and operational attributes are returned.- Returns:
- The Entry containing all the information about the rootDSE
- Throws:
LdapException
- If the rootDSE can't be read
-
getRootDse
Entry getRootDse(String... attributes) throws LdapException
Get back the RooDSE from the connected server. The user can provide the list of attributes he wants to get back. Sending "*" will return all the user attributes, sending "+" will return all the operational attributes.- Parameters:
attributes
- The list of attributes to return- Returns:
- The Entry containing all the information about the rootDSE
- Throws:
LdapException
- If the rootDSE can't be read
-
lookup
Entry lookup(Dn dn) throws LdapException
Searches for an entry having the given distinguished name..- Parameters:
dn
- the distinguished name of the entry to be fetched- Returns:
- the Entry with the given distinguished name or null if no entry exists with that distinguished name.
- Throws:
LdapException
- in case of any problems while searching for the distinguished name or if the returned response contains a referral- See Also:
lookup(Dn, String...)
-
lookup
Entry lookup(String dn) throws LdapException
Searches for an entry having the given distinguished name.- Parameters:
dn
- the distinguished name of the entry to be fetched- Returns:
- the Entry with the given distinguished name or null if no entry exists with that distinguished name.
- Throws:
LdapException
- in case of any problems while searching for the distinguished name or if the returned response contains a referral- See Also:
lookup(String, String...)
-
lookup
Entry lookup(Dn dn, String... attributes) throws LdapException
Searches for an entry having the given distinguished name.- Parameters:
dn
- the distinguished name of the entry to be fetchedattributes
- the attributes to be returned along with entry- Returns:
- the Entry with the given distinguished name or null if no entry exists with that distinguished name.
- Throws:
LdapException
- in case of any problems while searching for the distinguished name or if the returned response contains a referral
-
lookup
Entry lookup(Dn dn, Control[] controls, String... attributes) throws LdapException
Searches for an entry having the given distinguished name.- Parameters:
dn
- the distinguished name of the entry to be fetchedcontrols
- the controls to useattributes
- the attributes to be returned along with entry- Returns:
- the Entry with the given distinguished name or null if no entry exists with that distinguished name.
- Throws:
LdapException
- in case of any problems while searching for the distinguished name or if the returned response contains a referral
-
lookup
Entry lookup(String dn, String... attributes) throws LdapException
Searches for an entry having the given distinguished name.- Parameters:
dn
- the distinguished name of the entry to be fetchedattributes
- the attributes to be returned along with entry- Returns:
- the Entry with the given distinguished name or null if no entry exists with that distinguished name.
- Throws:
LdapException
- in case of any problems while searching for the distinguished name or if the returned response contains a referral- See Also:
lookup(Dn, String...)
-
lookup
Entry lookup(String dn, Control[] controls, String... attributes) throws LdapException
Searches for an entry having the given distinguished name.- Parameters:
dn
- the distinguished name of the entry to be fetchedcontrols
- the controls to useattributes
- the attributes to be returned along with entry- Returns:
- the Entry with the given distinguished name or null if no entry exists with that distinguished name.
- Throws:
LdapException
- in case of any problems while searching for the distinguished name or if the returned response contains a referral- See Also:
lookup(Dn, String...)
-
isControlSupported
boolean isControlSupported(String controlOID) throws LdapException
Checks if a control with the given OID is supported.- Parameters:
controlOID
- the OID of the control- Returns:
- true if the control is supported, false otherwise
- Throws:
LdapException
- if some error occurred
-
getSupportedControls
List<String> getSupportedControls() throws LdapException
Get the Controls supported by server.- Returns:
- a list of control OIDs supported by server
- Throws:
LdapException
- if some error occurred
-
loadSchema
void loadSchema() throws LdapException
Loads all the default schemas that are bundled with the API.
Note: This method enables all schemas prior to loading.- Throws:
LdapException
- in case of problems while loading the schema
-
loadSchemaRelaxed
void loadSchemaRelaxed() throws LdapException
Loads all the default schemas that are bundled with the API, in a relaxed mode.
Note: This method enables all schemas prior to loading.
The relaxed mode will allow inconsistencies in the schema.- Throws:
LdapException
- in case of problems while loading the schema
-
getSchemaManager
SchemaManager getSchemaManager()
- Returns:
- The SchemaManager associated with this LdapConection if any
-
getCodecService
LdapApiService getCodecService()
Gets the LDAP CODEC service responsible for encoding and decoding messages.- Returns:
- The LDAP CODEC service.
-
isRequestCompleted
boolean isRequestCompleted(int messageId)
Checks if a request has been completed, or not.- Parameters:
messageId
- ID of the request- Returns:
- true if the request has been completed, false is still being processed
-
doesFutureExistFor
@Deprecated boolean doesFutureExistFor(int messageId)
Deprecated.Checks if there is a ResponseFuture associated with the given message ID.- Parameters:
messageId
- ID of the request- Returns:
- true if there is a non-null future exists, false otherwise
-
getBinaryAttributeDetector
BinaryAttributeDetector getBinaryAttributeDetector()
- Returns:
- the object responsible for the detection of binary attributes
-
setBinaryAttributeDetector
void setBinaryAttributeDetector(BinaryAttributeDetector binaryAttributeDetecter)
Sets the object responsible for the detection of binary attributes.- Parameters:
binaryAttributeDetecter
- The Binary Attribute Detector to use
-
setSchemaManager
void setSchemaManager(SchemaManager schemaManager)
sets a SchemaManager to be used by this connection- Parameters:
schemaManager
- The SchemaManager to set
-
-