/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package net.java.sip.communicator.service.contactsource;
/**
* The ContactSourceService interface is meant to be implemented
* by modules supporting large lists of contacts and wanting to enable searching
* from other modules.
*
* @author Yana Stamcheva
*/
public interface ContactSourceService
{
/**
* Constants to identify ContactSource in call history.
*/
public static final String CALL_HISTORY = "CallHistory";
/**
* Returns the identifier of this contact source. Some of the common
* identifiers are defined here (For example the CALL_HISTORY identifier
* should be returned by all call history implementations of this interface)
* @return the identifier of this contact source
*/
public String getIdentifier();
/**
* Returns a user-friendly string that identifies this contact source.
* @return the display name of this contact source
*/
public String getDisplayName();
/**
* Queries this search source for the given queryString.
* @param queryString the string to search for
* @return the created query
*/
public ContactQuery queryContactSource(String queryString);
/**
* Queries this search source for the given queryString.
*
* @param queryString the string to search for
* @param contactCount the maximum count of result contacts
* @return the created query
*/
public ContactQuery queryContactSource(String queryString,
int contactCount);
}