Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
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.java186
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;
- }
-}

Back to the top