Interface SearchReplaceController


  • public interface SearchReplaceController

    Independent controller for search/replace feature.

    Operates with SearchOptions and SearchResult objects.

    Author:
    Eduardo Ramos
    • Method Detail

      • findNext

        SearchReplaceController.SearchResult findNext​(SearchReplaceController.SearchOptions searchOptions)

        Finds next (or first) ocurrence for the given search options.

        Returns a SearchResult instance with the details or null if the search was not successful.

        Modifies the given search options in order to match the next result the next time findNext is called

        Parameters:
        searchOptions - Options of the search
        Returns:
        SearchResult with details of the match or null
      • findNext

        SearchReplaceController.SearchResult findNext​(SearchReplaceController.SearchResult result)

        Finds next ocurrence for the given search options contained in a SearchResult.

        Returns a SearchResult instance with the details or null if the search was not successful.

        Modifies the given search options in order to match the next result the next time findNext is called

        Parameters:
        result - Last result of the search
        Returns:
        SearchResult with details of the match or null
      • canReplace

        boolean canReplace​(SearchReplaceController.SearchResult result)

        Indicates if a SearchResult can be replaced or not.

        Computed columns and id columns cannot be replaced.

        Parameters:
        result - SearchResult to check before replacing
        Returns:
        True if it can be replaced, false otherwise
      • replace

        SearchReplaceController.SearchResult replace​(SearchReplaceController.SearchResult result,
                                                     String replacement)

        Replaces a SearchResult with the given replacement String.

        Also tries to find next search result and returns it.

        If the data has changed and the replacement can't be done it will just return next SearchResult calling findNext.

        If useRegexReplaceMode is enabled, IndexOutOfBoundsException can be thrown when the replacement is not correct for the regular expression.

        Parameters:
        result - SearchResult to replace
        replacement - Replacement String
        Returns:
        Next SearchResult or null if not successful
      • replaceAll

        int replaceAll​(SearchReplaceController.SearchOptions searchOptions,
                       String replacement)

        Replaces all SearchResults that can be replaced with the given search options from the beginning to the end of the data.

        If useRegexReplaceMode is enabled, IndexOutOfBoundsException can be thrown when the replacement is not correct for the regular expression.

        Parameters:
        searchOptions - Search options for the searches
        replacement - Replacement String
        Returns:
        Count of made replacements