package org.springframework.roo.support.api; import java.util.logging.Logger; /** * Interface defining an add-on search service. * <p> * This interface is included in the support module because several of Roo's * core infrastructure modules require add-on search capabilities. * * @author Ben Alex * @author Stefan Schmidt * @since 1.1.1 */ public interface AddOnSearch { /** * Search all add-ons presently known this Roo instance, including add-ons * which have not been downloaded or installed by the user. * <p> * Information is optionally emitted to the console via {@link Logger#info}. * * @param showFeedback if false will never output any messages to the * console (required) * @param searchTerms comma separated list of search terms (required) * @param refresh attempt a fresh download of roobot.xml (optional) * @param linesPerResult maximum number of lines per add-on (optional) * @param maxResults maximum number of results to display (optional) * @param trustedOnly display only trusted add-ons in search results * (optional) * @param compatibleOnly display only compatible add-ons in search results * (optional) * @param communityOnly display only community-provided add-ons in search * results (optional) * @param requiresCommand display only add-ons which offer the specified * command (optional) * @return the total number of matches found, even if only some of these are * displayed due to maxResults (or null if the add-on list is * unavailable for some reason, eg network problems etc) */ Integer searchAddOns(boolean showFeedback, String searchTerms, boolean refresh, int linesPerResult, int maxResults, boolean trustedOnly, boolean compatibleOnly, boolean communityOnly, String requiresCommand); }