diff options
Diffstat (limited to 'bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/FindOccurrencesProcessor.java')
-rw-r--r-- | bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/FindOccurrencesProcessor.java | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/FindOccurrencesProcessor.java b/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/FindOccurrencesProcessor.java deleted file mode 100644 index 0c9d09ff6e..0000000000 --- a/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/search/FindOccurrencesProcessor.java +++ /dev/null @@ -1,121 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005 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.wst.sse.ui.internal.search; - -import org.eclipse.core.resources.IFile; -import org.eclipse.jface.text.IDocument; -import org.eclipse.jface.text.ITextSelection; -import org.eclipse.search.ui.ISearchQuery; -import org.eclipse.search.ui.NewSearchUI; -import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocument; -import org.eclipse.wst.sse.core.internal.provisional.text.IStructuredDocumentRegion; -import org.eclipse.wst.sse.core.internal.provisional.text.ITextRegion; - -/** - * <p> - * Finds occurrences of a specified region type w/ region text in an - * IStructuredDocument. Clients must implement getPartitionTypes() and - * getRegionTypes() to indicate which partition types and region types it can - * operate on. - * </p> - * - * <p> - * Clients should override <code>getSearchQuery()</code> in order to provide - * their own type of "search" (eg. searching for XML start tags, searching for - * Java elements, etc...) - * </p> - * - */ -abstract public class FindOccurrencesProcessor { - public boolean findOccurrences(IDocument document, ITextSelection textSelection, IFile file) { - boolean findOccurrences = false; - - // determine if action should be enabled or not - if (document instanceof IStructuredDocument) { - IStructuredDocument structuredDocument = (IStructuredDocument) document; - IStructuredDocumentRegion sdRegion = structuredDocument.getRegionAtCharacterOffset(textSelection.getOffset()); - if (sdRegion != null) { - ITextRegion r = sdRegion.getRegionAtCharacterOffset(textSelection.getOffset()); - if (r != null) { - String type = r.getType(); - if (enabledForRegionType(type)) { - String matchText = sdRegion.getText(r); - - // first of all activate the view - NewSearchUI.activateSearchResultView(); - - if (matchText != null && type != null) { - ISearchQuery searchQuery = getSearchQuery(file, structuredDocument, matchText, type, textSelection); - if (searchQuery != null) { - if (searchQuery.canRunInBackground()) - NewSearchUI.runQueryInBackground(searchQuery); - else - NewSearchUI.runQueryInForeground(null, searchQuery); - } - findOccurrences = true; - } - } - } - } - } - return findOccurrences; - } - - /** - * @param regionType - * @return <code>true</code> if this action can operate on this region - * type (ITextRegion), otherwise false. - */ - private boolean enabledForRegionType(String regionType) { - - String[] accept = getRegionTypes(); - for (int i = 0; i < accept.length; i++) { - if (regionType.equals(accept[i])) - return true; - } - return false; - } - - /** - * Clients should override this to enable find occurrences on certain - * partition(s). - */ - abstract protected String[] getPartitionTypes(); - - /** - * Clients should override this to enable find occurrences on different - * region type(s). - */ - abstract protected String[] getRegionTypes(); - - /** - * Clients should override to provide their own search for the file. - */ - protected ISearchQuery getSearchQuery(IFile file, IStructuredDocument document, String regionText, String regionType, ITextSelection textSelection) { - return new OccurrencesSearchQuery(file, document, regionText, regionType); - } - - /** - * @param partitionType - * @return <code>true</code> if this action can operate on this type of - * partition, otherwise <code>false</code>. - */ - public boolean enabledForParitition(String partitionType) { - String[] accept = getPartitionTypes(); - for (int i = 0; i < accept.length; i++) { - if (partitionType.equals(accept[i])) - return true; - } - return false; - } -} |