diff options
Diffstat (limited to 'bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicSearchQuery.java')
-rw-r--r-- | bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicSearchQuery.java | 186 |
1 files changed, 0 insertions, 186 deletions
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicSearchQuery.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicSearchQuery.java deleted file mode 100644 index d54823a8b1..0000000000 --- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/BasicSearchQuery.java +++ /dev/null @@ -1,186 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2001, 2009 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 - * Jens Lukowski/Innoopract - initial renaming/restructuring - * - *******************************************************************************/ -package org.eclipse.wst.sse.ui.internal.search; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.jface.text.BadLocationException; -import org.eclipse.jface.text.IDocument; -import org.eclipse.search.ui.ISearchQuery; -import org.eclipse.search.ui.ISearchResult; -import org.eclipse.search.ui.text.AbstractTextSearchResult; -import org.eclipse.search.ui.text.Match; -import org.eclipse.wst.sse.ui.internal.Logger; - - -/** - * Defines a basic search query. This query does not do anything, it needs to be extended - * and the <code>{@link #doQuery()}</code> method needs to be overridden to make the query - * actually be functional. - * - */ -public class BasicSearchQuery implements ISearchQuery { - /** - * the file we're searching - */ - private IFile fFile = null; - - /** - * The result of this query - */ - private AbstractTextSearchResult fResult = null; - - /** - * <p>Construct a new basic query.</p> - * - * <p><b>IMPORTANT: </b>It is very important that after - * creating the query and <b>before</b> running the query - * that you call {@link #setResult(AbstractTextSearchResult)}. - * This is not a parameter because typically a search result needs - * a reference to its query and thus the query needs to be constructed - * before its result object can be set.</p> - * - * @param file the file this query will take place on - */ - public BasicSearchQuery(IFile file) { - this.fFile = file; - } - - /** - * Runs the query - * - * @see org.eclipse.search.ui.ISearchQuery#run(org.eclipse.core.runtime.IProgressMonitor) - */ - public IStatus run(IProgressMonitor monitor) { - return doQuery(); - } - - /** - * public to avoid synthetic method access from inner class - * - * @return - */ - public IFile getFile() { - return this.fFile; - } - - /** - * There is no default label for a basic query, - * this should be overridden by implementing classes - * - * @see org.eclipse.search.ui.ISearchQuery#getLabel() - */ - public String getLabel() { - return ""; //$NON-NLS-1$ - } - - /** - * <p>This will be <code>null</code> if {@link #setResult(AbstractTextSearchResult)} - * has not been called yet.</p> - * - * @see org.eclipse.search.ui.ISearchQuery#getSearchResult() - */ - public ISearchResult getSearchResult() { - return fResult; - } - - /** - * Adds a match to the results of this query. - * - * <p><b>IMPORTANT: </b>It is very important that after - * creating the query and <b>before</b> running the query - * that you call {@link #setResult(AbstractTextSearchResult)}. - * This is not a parameter because typically a search result needs - * a reference to its query and thus the query needs to be constructed - * before its result object can be set.</p> - * - * @param document the document the match is being added too - * @param matchStart the start character of the match - * @param matchEnd the end character of the match - */ - public void addMatch(IDocument document, int matchStart, int matchEnd) { - - try { - int lineNumber = document.getLineOfOffset(matchStart); - int lineStart = document.getLineOffset(lineNumber); - int lineLength = document.getLineLength(lineNumber); - - String elementMessage = document.get().substring(lineStart, lineStart + lineLength); - - //add the match to the result - BasicSearchMatchElement element = new BasicSearchMatchElement(fFile, lineNumber, lineStart, elementMessage); - fResult.addMatch(new Match(element, Match.UNIT_CHARACTER, matchStart, matchEnd - matchStart)); - - } catch (BadLocationException e) { - Logger.logException(e); - } - } - - /** - * <p><i>Note: </i> as of yet no testing has gone into whether this query - * can be re-run or not or what that even entails.<p> - * - * @see org.eclipse.search.ui.ISearchQuery#canRerun() - */ - public boolean canRerun() { - return false; - } - - /** - * <p>This query can be run in the background</p> - * - * @see org.eclipse.search.ui.ISearchQuery#canRunInBackground() - */ - public boolean canRunInBackground() { - return true; - } - - /** - * <p>The actual work of the query, called by {@link #run(IProgressMonitor)}</p> - * <p><i>Note: </i>This method should be overridden by implementers so that their query - * will actually do something</p> - * - * @return the status of the query when it has finished - */ - protected IStatus doQuery() { - return Status.OK_STATUS; - } - - /** - * @return the total number of matches this query found - */ - protected int getMatchCount() { - return fResult.getMatchCount(); - } - - /** - * <p>used in search result display labels, should be overridden by implementers</p> - * - * @return - */ - protected String getSearchText() { - return ""; //$NON-NLS-1$ - } - - /** - * <p>This <b>needs</b> to be called after constructing - * the query but before running it, see note on {@link #BasicSearchQuery(IFile)}</p> - * - * @param result the result this query will use to store its results - */ - protected void setResult(AbstractTextSearchResult result) { - this.fResult = result; - } -} |