/******************************************************************************* * Copyright (c) 2000, 2015 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.help.search; import org.eclipse.core.runtime.IStatus; /** * A collector for the search hits (asynchronously) returned by the help search * participants. * <p> * This interface is intended to be implemented by clients and passed to the * search engine instance. * * @since 3.1 */ public interface ISearchEngineResultCollector { /** * Accepts a new search result object. * * @param searchResult * the new search result */ void accept(ISearchEngineResult searchResult); /** * Accepts an array of new search results. * * @param searchResults * an array of search result objects */ void accept(ISearchEngineResult[] searchResults); /** * Notifies the collector that an error has occured in the search engine. * The kinds of errors that are reported this way are not abnormal problems * or internal errors. Unexpected problems should be left to the job manager * to handle by throwing a <code>CoreException</code>. Use this method to * report errors that are expected to occur from time to time (e.g., server * down, server timeout, incorrect URL etc.). * * @param status * the reported error status */ void error(IStatus status); }