Package org.eclipse.search.ui.text
Class AbstractTextSearchResult
java.lang.Object
org.eclipse.search.ui.text.AbstractTextSearchResult
- All Implemented Interfaces:
ISearchResult
An abstract base implementation for text-match based search results. This search
result implementation consists of a list of
matches
.
No assumptions are made about the kind of elements these matches are reported against.- Since:
- 3.0
-
Constructor Summary
ModifierConstructorDescriptionprotected
Constructs a newAbstractTextSearchResult
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds aISearchResultListener
.void
Adds aMatch
to this search result.void
addMatches
(Match[] matches) Adds a number of Matches to this search result.protected void
Send the givenSearchResultEvent
to all registered search result listeners.Returns the active match filters for this result.Returns all applicable filters for this result or null if match filters are not supported.abstract IEditorMatchAdapter
Returns an implementation ofIEditorMatchAdapter
appropriate for this search result.Object[]
Returns an array containing the set of all elements that matches are reported against in this search result.int
Returns a number of all elements that have matches.abstract IFileMatchAdapter
Returns an implementation ofIFileMatchAdapter
appropriate for this search result.int
Returns the total number of matches contained in this search result.int
getMatchCount
(Object element) Returns the number of matches reported against a given element.Match[]
getMatches
(Object element) Returns an array with all matches reported against the given element.getMatchSet
(Object element) Returns an Enumeration of all matches reported against the given element.boolean
void
Removes all matches from this search result.void
Removes aISearchResultChangedListener
.void
removeMatch
(Match match) Removes the given match from this search result.void
removeMatches
(Match[] matches) Removes the given matches from this search result.void
setActiveMatchFilters
(MatchFilter[] filters) Sets the active match filters for this result.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
-
AbstractTextSearchResult
protected AbstractTextSearchResult()Constructs a newAbstractTextSearchResult
-
-
Method Details
-
getMatches
Returns an array with all matches reported against the given element. Note that all matches of the given element are returned. The filter state of the matches is not relevant. The matches are reported sorted per offset and length. The order may be important for example stepping between matches (see bug 58417). For calculating just a match count the order is not needed and the fastergetMatchSet(Object)
should be used instead. The order of reported matches found (with equal offset and length) is not preserved (Does not make sense during parallel search).- Parameters:
element
- the element to report matches for- Returns:
- all matches reported for this element
- See Also:
-
getMatchSet
Returns an Enumeration of all matches reported against the given element. Note that all matches of the given element are returned. The filter state of the matches is not relevant. LikegetMatches(Object)
but unordered result.- Parameters:
element
- the element to report matches for- Returns:
- all matches reported for this element
- Since:
- 3.14
- See Also:
-
addMatch
Adds aMatch
to this search result. This method does nothing if the match is already present.Subclasses may extend this method.
- Parameters:
match
- the match to add
-
addMatches
Adds a number of Matches to this search result. This method does nothing for matches that are already present.Subclasses may extend this method.
- Parameters:
matches
- the matches to add
-
removeAll
public void removeAll()Removes all matches from this search result.Subclasses may extend this method.
-
removeMatch
Removes the given match from this search result. This method has no effect if the match is not found.Subclasses may extend this method.
- Parameters:
match
- the match to remove
-
removeMatches
Removes the given matches from this search result. This method has no effect for matches that are not foundSubclasses may extend this method.
- Parameters:
matches
- the matches to remove
-
addListener
Description copied from interface:ISearchResult
Adds aISearchResultListener
. Has no effect when the listener has already been added.- Specified by:
addListener
in interfaceISearchResult
- Parameters:
l
- the listener to be added
-
removeListener
Description copied from interface:ISearchResult
Removes aISearchResultChangedListener
. Has no effect when the listener hasn't previously been added.- Specified by:
removeListener
in interfaceISearchResult
- Parameters:
l
- the listener to be removed
-
fireChange
Send the givenSearchResultEvent
to all registered search result listeners.- Parameters:
e
- the event to be sent- See Also:
-
getMatchCount
public int getMatchCount()Returns the total number of matches contained in this search result. The filter state of the matches is not relevant when counting matches. All matches are counted.- Returns:
- total number of matches
-
hasMatches
public boolean hasMatches()- Returns:
true
if the result is not empty- Since:
- 3.17
-
getMatchCount
Returns the number of matches reported against a given element. This is equivalent to callinggetMatches(element).length
The filter state of the matches is not relevant when counting matches. All matches are counted.- Parameters:
element
- the element to get the match count for- Returns:
- the number of matches reported against the element
-
getElements
Returns an array containing the set of all elements that matches are reported against in this search result. Note that all elements that contain matches are returned. The filter state of the matches is not relevant.- Returns:
- the set of elements in this search result
-
getElementsCount
public int getElementsCount()Returns a number of all elements that have matches. Note that count of all elements that contain matches are returned. The filter state of the matches is not relevant.- Returns:
- the number of elements in this search result
- Since:
- 3.17
-
setActiveMatchFilters
Sets the active match filters for this result. If set to non-null, the match filters will be used to update the filter state (Match.isFiltered()
of matches and theAbstractTextSearchViewPage
will only show non-filtered matches. Ifnull
is set the filter state of the match is ignored by theAbstractTextSearchViewPage
and all matches are shown. Note the model contains all matches, regardless if the filter state of a match.- Parameters:
filters
- the match filters to set ornull
if the filter state of the match should be ignored.- Since:
- 3.3
-
getActiveMatchFilters
Returns the active match filters for this result. If not null is returned, the match filters will be used to update the filter state (Match.isFiltered()
of matches and theAbstractTextSearchViewPage
will only show non-filtered matches. Ifnull
is set the filter state of the match is ignored by theAbstractTextSearchViewPage
and all matches are shown.- Returns:
- the match filters to be used or
null
if the filter state of the match should be ignored. - Since:
- 3.3
-
getAllMatchFilters
Returns all applicable filters for this result or null if match filters are not supported. If match filters are returned, theAbstractTextSearchViewPage
will contain menu entries in the view menu.- Returns:
- all applicable filters for this result.
- Since:
- 3.3
-
getEditorMatchAdapter
Returns an implementation ofIEditorMatchAdapter
appropriate for this search result.- Returns:
- an appropriate adapter or
null
if none has been implemented - See Also:
-
getFileMatchAdapter
Returns an implementation ofIFileMatchAdapter
appropriate for this search result.- Returns:
- an appropriate adapter or
null
if none has been implemented - See Also:
-