Interface BackendServer
-
@NotExtensible @ThreadSafety(level=INTERFACE_NOT_THREADSAFE) public interface BackendServer
This interface defines a set of methods that may be used to interact with an LDAP external server which acts as a backend server accessed through the Directory Proxy Server.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description LDAPResult
addUnaltered(AddRequest addRequest)
Sends the provided add request to the backend server without altering the request or result in any way.CompareResult
compareUnaltered(CompareRequest compareRequest)
Sends the provided compare request to the backend server without altering the request or result in any way.LDAPConnection
createNewConnection(LDAPConnectionOptions options, java.lang.String purpose)
Creates a new connection to the associated directory server which is authenticated and/or secured in accordance with the LDAP external server configuration.LDAPResult
deleteUnaltered(DeleteRequest deleteRequest)
Sends the provided delete request to the backend server without altering the request or result in any way.int
getActiveOperations()
Retrieves the number of operations which are currently being processed against the LDAP external server through the local Directory Proxy Server instance.java.lang.String
getConfigEntryDN()
Retrieves the DN of the configuration entry in which this LDAP external server is defined.HealthCheckResult
getHealthCheckResult()
Retrieves the health check result currently assigned to this LDAP external server.Location
getLocation()
Retrieves the location assigned to this LDAP external server, if any.DN
getParsedConfigEntryDN()
Retrieves the DN of the configuration entry in which this LDAP external server is defined.java.lang.String
getServerAddress()
Retrieves the address for this LDAP external server.int
getServerPort()
Retrieves the port for this LDAP external server.boolean
isAvailable()
Indicates whether this LDAP external server currently has a health check state of AVAILABLE.boolean
isLocal()
Indicates whether this LDAP external server is in the same location as the Directory Proxy Server that is referencing it.LDAPResult
modifyDNUnaltered(ModifyDNRequest modifyDNRequest)
Sends the provided modify DN request to the backend server without altering the request or result in any way.LDAPResult
modifyUnaltered(ModifyRequest modifyRequest)
Sends the provided modify request to the backend server without altering the request or result in any way.SearchResult
searchUnaltered(SearchRequest searchRequest)
Sends the provided search request to the backend server without altering the request or result in any way.boolean
supportsOperation(OperationType t)
Indicates whether this LDAP external server may be used to process operations of the specified type.
-
-
-
Method Detail
-
getConfigEntryDN
java.lang.String getConfigEntryDN()
Retrieves the DN of the configuration entry in which this LDAP external server is defined.- Returns:
- The DN of the configuration entry in which this LDAP external server is defined.
-
getParsedConfigEntryDN
DN getParsedConfigEntryDN()
Retrieves the DN of the configuration entry in which this LDAP external server is defined.- Returns:
- The DN of the configuration entry in which this LDAP external server is defined.
-
createNewConnection
LDAPConnection createNewConnection(LDAPConnectionOptions options, java.lang.String purpose) throws LDAPException
Creates a new connection to the associated directory server which is authenticated and/or secured in accordance with the LDAP external server configuration. The caller will be responsible for closing the connection when it is no longer needed.- Parameters:
options
- The set of options to use for the connection. It may benull
if a default set of connection options should be used.purpose
- A message with information about the purpose for this connection. This message will be included in the administrative operation control sent to the server (if the server supports that control) for any operations processed during the course of preparing the connection.- Returns:
- The newly-created connection.
- Throws:
LDAPException
- If a problem is encountered while attempting to create the connection.
-
getLocation
Location getLocation()
Retrieves the location assigned to this LDAP external server, if any.- Returns:
- The location assigned to this LDAP external server, or
null
if no location has been assigned.
-
getServerAddress
java.lang.String getServerAddress()
Retrieves the address for this LDAP external server.- Returns:
- The address for this LDAP external server.
-
getServerPort
int getServerPort()
Retrieves the port for this LDAP external server.- Returns:
- The port for this LDAP external server.
-
isLocal
boolean isLocal()
Indicates whether this LDAP external server is in the same location as the Directory Proxy Server that is referencing it.- Returns:
true
if this LDAP external server is in the same location as the Directory Proxy Server that is referencing it, orfalse
if it is in a different location or no location has been assigned.
-
getActiveOperations
int getActiveOperations()
Retrieves the number of operations which are currently being processed against the LDAP external server through the local Directory Proxy Server instance. Note that this value will not include operations processed against the server from other Directory Proxy Server instances or any other kind of client, nor will it include any operations which may be in progress on connections created from thecreateNewConnection(com.unboundid.ldap.sdk.LDAPConnectionOptions, java.lang.String)
method.- Returns:
- The number of operations which are currently being processed against the LDAP external server through the local Directory Proxy Server instance.
-
getHealthCheckResult
HealthCheckResult getHealthCheckResult()
Retrieves the health check result currently assigned to this LDAP external server.- Returns:
- The health check result currently assigned to this LDAP external server.
-
isAvailable
boolean isAvailable()
Indicates whether this LDAP external server currently has a health check state of AVAILABLE.- Returns:
true
if this LDAP external server currently has a health check state of AVAILABLE, orfalse
if not.
-
supportsOperation
boolean supportsOperation(OperationType t)
Indicates whether this LDAP external server may be used to process operations of the specified type.- Parameters:
t
- The operation type for which to make the determination.- Returns:
true
if this LDAP external server may be used to process operations of the specified type, orfalse
if not.
-
addUnaltered
LDAPResult addUnaltered(AddRequest addRequest) throws LDAPException
Sends the provided add request to the backend server without altering the request or result in any way. It will use a pooled connection authenticated as the proxy user, and the provided request must not alter the state of the connection in any way.- Parameters:
addRequest
- The add request to be processed.- Returns:
- The result of processing the add operation.
- Throws:
LDAPException
- If an error occurred while processing the add request.
-
compareUnaltered
CompareResult compareUnaltered(CompareRequest compareRequest) throws LDAPException
Sends the provided compare request to the backend server without altering the request or result in any way. It will use a pooled connection authenticated as the proxy user, and the provided request must not alter the state of the connection in any way.- Parameters:
compareRequest
- The compare request to be processed.- Returns:
- The result of processing the compare operation.
- Throws:
LDAPException
- If an error occurred while processing the compare request.
-
deleteUnaltered
LDAPResult deleteUnaltered(DeleteRequest deleteRequest) throws LDAPException
Sends the provided delete request to the backend server without altering the request or result in any way. It will use a pooled connection authenticated as the proxy user, and the provided request must not alter the state of the connection in any way.- Parameters:
deleteRequest
- The delete request to be processed.- Returns:
- The result of processing the delete operation.
- Throws:
LDAPException
- If an error occurred while processing the delete request.
-
modifyUnaltered
LDAPResult modifyUnaltered(ModifyRequest modifyRequest) throws LDAPException
Sends the provided modify request to the backend server without altering the request or result in any way. It will use a pooled connection authenticated as the proxy user, and the provided request must not alter the state of the connection in any way.- Parameters:
modifyRequest
- The modify request to be processed.- Returns:
- The result of processing the modify operation.
- Throws:
LDAPException
- If an error occurred while processing the modify request.
-
modifyDNUnaltered
LDAPResult modifyDNUnaltered(ModifyDNRequest modifyDNRequest) throws LDAPException
Sends the provided modify DN request to the backend server without altering the request or result in any way. It will use a pooled connection authenticated as the proxy user, and the provided request must not alter the state of the connection in any way.- Parameters:
modifyDNRequest
- The modify DN request to be processed.- Returns:
- The result of processing the modify DN operation.
- Throws:
LDAPException
- If an error occurred while processing the modify DN request.
-
searchUnaltered
SearchResult searchUnaltered(SearchRequest searchRequest) throws LDAPException
Sends the provided search request to the backend server without altering the request or result in any way. It will use a pooled connection authenticated as the proxy user, and the provided request must not alter the state of the connection in any way.- Parameters:
searchRequest
- The search request to be processed.- Returns:
- The result of processing the search operation.
- Throws:
LDAPException
- If an error occurred while processing the search request.
-
-