package org.limewire.core.api.search; import java.util.concurrent.CopyOnWriteArrayList; import org.limewire.io.GUID; /** * A single search. */ public interface Search { /** Returns the category this search is for. */ SearchCategory getCategory(); /** Returns the search string */ String getQuery(); /** Returns the search's unique GUID */ GUID getQueryGuid(); /** Adds a new SearchListener. */ void addSearchListener(SearchListener searchListener); /** Removes a SearchListener. */ void removeSearchListener(SearchListener searchListener); /** Starts the search. */ void start(); /** Repeats the search. */ void repeat(); /** Stops the search. */ void stop(); /** List of all of the listeners for this search. */ CopyOnWriteArrayList<SearchListener> getListenerList(); }