Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.ldap
Class LdapContactQuery

java.lang.Object
  extended by net.java.sip.communicator.service.contactsource.AbstractContactQuery<T>
      extended by net.java.sip.communicator.service.contactsource.AsyncContactQuery<LdapContactSourceService>
          extended by net.java.sip.communicator.impl.ldap.LdapContactQuery
All Implemented Interfaces:
ContactQuery

public class LdapContactQuery
extends AsyncContactQuery<LdapContactSourceService>

Implements ContactQuery for LDAP.

In contrast to other contact source implementations like AddressBook and Outlook the LDAP contact source implementation is explicitly moved to the "impl.ldap" package in order to allow us to create LDAP contact sources for ldap directories through the LdapService.

Author:
Sebastien Vincent, Yana Stamcheva

Field Summary
static int LDAP_MAX_RESULTS
          Maximum results for LDAP query.
 
Fields inherited from class net.java.sip.communicator.service.contactsource.AsyncContactQuery
query
 
Fields inherited from interface net.java.sip.communicator.service.contactsource.ContactQuery
QUERY_CANCELED, QUERY_COMPLETED, QUERY_ERROR, QUERY_IN_PROGRESS
 
Constructor Summary
protected LdapContactQuery(LdapContactSourceService contactSource, Pattern query, int count)
          Initializes a new LdapContactQuery instance which is to perform a specific query on behalf of a specific contactSource.
 
Method Summary
 void cancel()
          Cancels this ContactQuery.
protected  String normalizePhoneNumber(String phoneNumber)
          Normalizes a String phone number by converting alpha characters to their respective digits on a keypad and then stripping non-digit characters.
protected  boolean phoneNumberMatches(String phoneNumber)
          Determines whether a specific String phone number matches the AsyncContactQuery.query of this AsyncContactQuery.
protected  void run()
          Performs this AsyncContactQuery in a background Thread.
protected  void stopped(boolean completed)
          Notifies this LdapContactQuery that it has stopped performing in the associated background Thread.
 
Methods inherited from class net.java.sip.communicator.service.contactsource.AsyncContactQuery
addQueryResult, getPhoneNumberQuery, getQueryResultCount, getQueryResults, getQueryString, start
 
Methods inherited from class net.java.sip.communicator.service.contactsource.AbstractContactQuery
addContactQueryListener, fireContactReceived, fireQueryStatusChanged, getContactSource, getStatus, removeContactQueryListener, setStatus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LDAP_MAX_RESULTS

public static final int LDAP_MAX_RESULTS
Maximum results for LDAP query.

See Also:
Constant Field Values
Constructor Detail

LdapContactQuery

protected LdapContactQuery(LdapContactSourceService contactSource,
                           Pattern query,
                           int count)
Initializes a new LdapContactQuery instance which is to perform a specific query on behalf of a specific contactSource.

Parameters:
contactSource - the ContactSourceService which is to perform the new ContactQuery instance
query - the Pattern for which contactSource is being queried
count - maximum number of results
Method Detail

normalizePhoneNumber

protected String normalizePhoneNumber(String phoneNumber)
Normalizes a String phone number by converting alpha characters to their respective digits on a keypad and then stripping non-digit characters.

Specified by:
normalizePhoneNumber in class AsyncContactQuery<LdapContactSourceService>
Parameters:
phoneNumber - a String which represents a phone number to normalize
Returns:
a String which is a normalized form of the specified phoneNumber

phoneNumberMatches

protected boolean phoneNumberMatches(String phoneNumber)
Determines whether a specific String phone number matches the AsyncContactQuery.query of this AsyncContactQuery.

Specified by:
phoneNumberMatches in class AsyncContactQuery<LdapContactSourceService>
Parameters:
phoneNumber - the String which represents the phone number to match to the query of this AsyncContactQuery
Returns:
true if the specified phoneNumber matches the query of this AsyncContactQuery; otherwise, false

run

protected void run()
Performs this AsyncContactQuery in a background Thread.

Specified by:
run in class AsyncContactQuery<LdapContactSourceService>
See Also:
AsyncContactQuery.run()

stopped

protected void stopped(boolean completed)
Notifies this LdapContactQuery that it has stopped performing in the associated background Thread.

Overrides:
stopped in class AsyncContactQuery<LdapContactSourceService>
Parameters:
completed - true if this ContactQuery has successfully completed, false if an error has been encountered during its execution
See Also:
AsyncContactQuery.stopped(boolean)

cancel

public void cancel()
Cancels this ContactQuery.

Specified by:
cancel in interface ContactQuery
Overrides:
cancel in class AbstractContactQuery<LdapContactSourceService>
See Also:
ContactQuery.cancel()

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.