blob: dccacbaf203002b1fbf129518d7528a9907507c2 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015 Dawid Pakula 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:
* Dawid Pakula - initial API and implementation
*******************************************************************************/
package org.eclipse.dltk.core.index2.search;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.dltk.core.IModelElement;
import org.eclipse.dltk.core.search.IDLTKSearchScope;
public interface ISearchEngineExtension extends ISearchEngine {
/**
* Search for model elements in index.
*
* @param elementType
* Element type ({@link IModelElement#TYPE},
* {@link IModelElement#METHOD},{@link IModelElement#FIELD},etc.)
* @param qualifier
* Element qualifier (package name)
* @param elementName
* Element name pattern
* @param parent
* Element parent name
* @param trueFlags
* Logical OR of flags that must exist in element flags bitset.
* Set to <code>0</code> to disable filtering by trueFlags.
* @param falseFlags
* Logical OR of flags that must not exist in the element flags
* bitset. Set to <code>0</code> to disable filtering by
* falseFlags.
* @param limit
* Limit number of results (<code>0</code> - unlimited)
* @param searchFor
* A combination of {@link #SF_REFS}, {@link #SF_DECLS}
* @param matchRule
* A combination of {@link #MR_EXACT}, {@link #MR_PREFIX}
* @param scope
* Search scope
* @param requestor
* Search requestor
* @param monitor
* Progress monitor
* @see https://bugs.eclipse.org/bugs/show_bug.cgi?id=457784
* @since 5.1.1
*/
public void search(int elementType, String qualifier, String elementName,
String parent,
int trueFlags, int falseFlags, int limit, SearchFor searchFor,
MatchRule matchRule, IDLTKSearchScope scope,
ISearchRequestor requestor, IProgressMonitor monitor);
}