package org.limewire.core.api.search.browse; import java.util.Collection; import org.limewire.friend.api.Friend; import org.limewire.friend.api.FriendPresence; public interface BrowseSearchFactory { /** * Browses all presences of a friend, and keeps status up-to-date as the * presences change. This must be a non-anonymous friend. */ BrowseSearch createFriendBrowseSearch(Friend friend); /** Browses a single presence. Status-changes of non-anonymous friends are kept up-to-date. * Status-changes of anonymous presences are not kept up-to-date. */ BrowseSearch createBrowseSearch(FriendPresence presence); /** Browses many presences. Only status-changes of non-anonymous friends in the collection are kept * up-to-date. Status-changes of anonymous presences are not kept up-to-date. */ BrowseSearch createBrowseSearch(Collection<FriendPresence> presences); /** Browses all known friends. Status changes of the friends are kept up-to-date. */ BrowseSearch createAllFriendsBrowseSearch(); }