org.eclipse.jface.text

## Class FindReplaceDocumentAdapter

- java.lang.Object
- - org.eclipse.jface.text.FindReplaceDocumentAdapter

All Implemented Interfaces:
  CharSequence

    public class FindReplaceDocumentAdapter
    extends Object
    implements CharSequence

Provides search and replace operations on `IDocument`.

Replaces `IDocument.search(int, String, boolean, boolean, boolean)`.

Since:
  3.0

### Constructor Summary

Constructors
Constructor and Description
`FindReplaceDocumentAdapter(IDocument document)` Constructs a new find replace document adapter.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`char` `charAt(int index)`
`static String` `escapeForRegExPattern(String string)` Escapes special characters in the string, such that the resulting pattern matches the given string.
`IRegion` `find(int startOffset, String findString, boolean forwardSearch, boolean caseSensitive, boolean wholeWord, boolean regExSearch)` Returns the location of a given string in this adapter's document based on a set of search criteria.
`int` `length()`
`IRegion` `replace(String text, boolean regExReplace)` Substitutes the previous match with the given text.
`CharSequence` `subSequence(int start, int end)`
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface java.lang.CharSequence

`chars, codePoints`

### Constructor Detail

#### FindReplaceDocumentAdapter

    public FindReplaceDocumentAdapter(IDocument document)

Constructs a new find replace document adapter.

Parameters:
  `document` - the adapted document

### Method Detail

#### find

    public IRegion find(int startOffset,
                        String findString,
                        boolean forwardSearch,
                        boolean caseSensitive,
                        boolean wholeWord,
                        boolean regExSearch)
                 throws BadLocationException

Returns the location of a given string in this adapter's document based on a set of search criteria.

Parameters:
  `startOffset` - document offset at which search starts
  `findString` - the string to find
  `forwardSearch` - the search direction
  `caseSensitive` - indicates whether lower and upper case should be distinguished
  `wholeWord` - indicates whether the findString should be limited by white spaces as defined by Character.isWhiteSpace. Must not be used in combination with `regExSearch`.
  `regExSearch` - if `true` findString represents a regular expression Must not be used in combination with `wholeWord`.
Returns:
  the find or replace region or `null` if there was no match
Throws:
  `BadLocationException` - if startOffset is an invalid document offset
  `PatternSyntaxException` - if a regular expression has invalid syntax

#### replace

    public IRegion replace(String text,
                           boolean regExReplace)
                    throws BadLocationException

Substitutes the previous match with the given text. Sends a `DocumentEvent` to all registered `IDocumentListener`.

Parameters:
  `text` - the substitution text
  `regExReplace` - if `true` `text` represents a regular expression
Returns:
  the replace region or `null` if there was no match
Throws:
  `BadLocationException` - if startOffset is an invalid document offset
  `IllegalStateException` - if a REPLACE or REPLACE_FIND operation is not preceded by a successful FIND operation
  `PatternSyntaxException` - if a regular expression has invalid syntax
See Also:
  `DocumentEvent`, `IDocumentListener`

#### length

    public int length()

Specified by:
  `length` in interface `CharSequence`

#### charAt

    public char charAt(int index)

Specified by:
  `charAt` in interface `CharSequence`

#### subSequence

    public CharSequence subSequence(int start,
                                    int end)

Specified by:
  `subSequence` in interface `CharSequence`

#### toString

    public String toString()

Specified by:
  `toString` in interface `CharSequence`
Overrides:
  `toString` in class `Object`

#### escapeForRegExPattern

    public static String escapeForRegExPattern(String string)

Escapes special characters in the string, such that the resulting pattern matches the given string.

Parameters:
  `string` - the string to escape
Returns:
  a regex pattern that matches the given string
Since:
  3.5