netscape.ldap
public class LDAPSearchListener extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
int |
getMessageCount()
Returns the count of queued messages
|
int[] |
getMessageIDs()
Returns message IDs for all outstanding requests
|
int |
getRequestCount()
Returns the number of outstanding requests.
|
LDAPMessage |
getResponse()
Blocks until a search result, reference or response is available,
or until all operations associated with the object have completed
or been canceled.
|
boolean |
isResponseReceived()
Reports true if a response has been received from the server.
|
void |
merge(LDAPSearchListener listener2)
Merge two response listeners.
|
java.lang.String |
toString()
String representation of the object
|
public LDAPMessage getResponse() throws LDAPException
LDAPException
- Network error exceptionLDAPInterruptedException
- The invoking thread was interruptedLDAPResponse
,
LDAPSearchResult
,
LDAPSearchResultReference
public void merge(LDAPSearchListener listener2)
To be used for synchronization of asynchronous LDAP operations where requests are sent by one thread but processed by another one.
A client may be implemented in such a way that one thread makes LDAP requests and calls l.getMessageIDs(), while another thread is responsible for processing of responses (call l.getResponse()). Both threads are using the same listener objects. In such a case, a race condition may occur, where a LDAP response message is retrieved and the request terminated (request ID removed) before the first thread has a chance to execute l.getMessageIDs(). The proper way to handle this scenario is to create a separate listener for each new request, and after l.getMessageIDs() has been invoked, merge the new request with the existing one.
listener2
- the listener with which to mergepublic boolean isResponseReceived()
public int[] getMessageIDs()
public int getMessageCount()
public int getRequestCount()
public java.lang.String toString()
toString
in class java.lang.Object