Class AbstractHandlySearchResult

java.lang.Object
org.eclipse.search.ui.text.AbstractTextSearchResult
org.eclipse.handly.ui.search.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.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new AbstractHandlySearchResult.
  • Method Summary

    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)
    Returns the content adapter that defines a mapping between IElements and elements of this search result.
    org.eclipse.search.ui.text.IEditorMatchAdapter
    org.eclipse.core.resources.IFile
    getFile(Object element)
    org.eclipse.search.ui.text.IFileMatchAdapter
    protected abstract IInputElementProvider
    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 Details

    • AbstractHandlySearchResult

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

    • 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(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