Class AbstractHandlySearchResult

  • All Implemented Interfaces:
    org.eclipse.search.ui.ISearchResult, org.eclipse.search.ui.text.IEditorMatchAdapter, org.eclipse.search.ui.text.IFileMatchAdapter

    public abstract class AbstractHandlySearchResult
    extends org.eclipse.search.ui.text.AbstractTextSearchResult
    implements org.eclipse.search.ui.text.IEditorMatchAdapter, org.eclipse.search.ui.text.IFileMatchAdapter
    A partial implementation of Handly-based search result. Assumes that matches are reported against IElements (or elements that can be adapted to IElements via a content adapter); also supports matches that are reported against IResources. Implements getEditorMatchAdapter() and getFileMatchAdapter() methods of AbstractTextSearchResult by returning appropriate adapters. An updater can be provided at construction time that will update the content of the search result on element change events.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      org.eclipse.search.ui.text.Match[] computeContainedMatches​(org.eclipse.search.ui.text.AbstractTextSearchResult result, org.eclipse.core.resources.IFile file)
      org.eclipse.search.ui.text.Match[] computeContainedMatches​(org.eclipse.search.ui.text.AbstractTextSearchResult result, org.eclipse.ui.IEditorPart editor)
      IContentAdapter getContentAdapter()
      Returns the content adapter that defines a mapping between IElements and elements of this search result.
      org.eclipse.search.ui.text.IEditorMatchAdapter getEditorMatchAdapter()
      org.eclipse.core.resources.IFile getFile​(java.lang.Object element)
      org.eclipse.search.ui.text.IFileMatchAdapter getFileMatchAdapter()
      protected abstract IInputElementProvider getInputElementProvider()
      Returns the input element provider for this search result.
      boolean isShownInEditor​(org.eclipse.search.ui.text.Match match, org.eclipse.ui.IEditorPart editor)
      • Methods inherited from class org.eclipse.search.ui.text.AbstractTextSearchResult

        addListener, addMatch, addMatches, fireChange, getActiveMatchFilters, getAllMatchFilters, getElements, getMatchCount, getMatchCount, getMatches, getMatchSet, removeAll, removeListener, removeMatch, removeMatches, setActiveMatchFilters
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.eclipse.search.ui.ISearchResult

        getImageDescriptor, getLabel, getQuery, getTooltip
    • Constructor Detail

      • AbstractHandlySearchResult

        public AbstractHandlySearchResult​(HandlySearchResultUpdater updater)
        Constructs a new AbstractHandlySearchResult.
        Parameters:
        updater - a search result updater, or null if updating is not desired
    • Method Detail

      • isShownInEditor

        public boolean isShownInEditor​(org.eclipse.search.ui.text.Match match,
                                       org.eclipse.ui.IEditorPart editor)

        If the match element is not an IResource and could be adapted to an IElement through the content adapter, this implementation uses the input element provider to determine the corresponding IElement for the editor input and, if there is such an input IElement, returns true if and only if the input element contains the adapter element. Otherwise, this implementation returns true if and only if the corresponding IResource (if any) for the match element equals the resource corresponding to the editor input. The corresponding resource for the match element is determined as follows:

        Specified by:
        isShownInEditor in interface org.eclipse.search.ui.text.IEditorMatchAdapter
      • computeContainedMatches

        public org.eclipse.search.ui.text.Match[] computeContainedMatches​(org.eclipse.search.ui.text.AbstractTextSearchResult result,
                                                                          org.eclipse.ui.IEditorPart editor)

        If the editor input could be adapted to an IFile, this implementation collects all matches reported against the file, as returned by AbstractTextSearchResult.getMatches(Object). In addition, this implementation uses the input element provider to determine the corresponding IElement for the editor input and collects all matches reported against elements that correspond to the IElement and any of its descendant elements (the corresponding elements are determined via the getCorrespondingElement(IElement) method of the content adapter).

        Specified by:
        computeContainedMatches in interface org.eclipse.search.ui.text.IEditorMatchAdapter
      • computeContainedMatches

        public org.eclipse.search.ui.text.Match[] computeContainedMatches​(org.eclipse.search.ui.text.AbstractTextSearchResult result,
                                                                          org.eclipse.core.resources.IFile file)

        This implementation collects all matches reported against the given file itself, as returned by AbstractTextSearchResult.getMatches(Object). In addition, this implementation uses the input element provider to determine the corresponding IElement for the given file and collects all matches reported against elements that correspond to the IElement and any of its descendant elements (the corresponding elements are determined via the getCorrespondingElement(IElement) method of the content adapter).

        Specified by:
        computeContainedMatches in interface org.eclipse.search.ui.text.IFileMatchAdapter
      • getFile

        public org.eclipse.core.resources.IFile getFile​(java.lang.Object element)

        If the given element has a corresponding resource that is an IFile, this implementation returns the file. The corresponding resource is determined as follows:

        Specified by:
        getFile in interface org.eclipse.search.ui.text.IFileMatchAdapter
      • getEditorMatchAdapter

        public org.eclipse.search.ui.text.IEditorMatchAdapter getEditorMatchAdapter()

        This implementation returns this search result, which implements IEditorMatchAdapter.

        Specified by:
        getEditorMatchAdapter in class org.eclipse.search.ui.text.AbstractTextSearchResult
      • getFileMatchAdapter

        public org.eclipse.search.ui.text.IFileMatchAdapter getFileMatchAdapter()

        This implementation returns this search result, which implements IFileMatchAdapter.

        Specified by:
        getFileMatchAdapter in class org.eclipse.search.ui.text.AbstractTextSearchResult
      • getContentAdapter

        public IContentAdapter getContentAdapter()
        Returns the content adapter that defines a mapping between IElements and elements of this search result.

        Default implementation returns a NullContentAdapter. Subclasses may override.

        Returns:
        an IContentAdapter (never null)
      • getInputElementProvider

        protected abstract IInputElementProvider getInputElementProvider()
        Returns the input element provider for this search result.
        Returns:
        the input element provider