# 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
Description
`FindReplaceDocumentAdapter(IDocument document)`
Constructs a new find replace document adapter.

## Method Summary

Modifier and Type
Method
Description
`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 Object

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

### Methods inherited from interface CharSequence

`chars, codePoints, getChars, isEmpty`

## Constructor Details

### FindReplaceDocumentAdapter

public FindReplaceDocumentAdapter(IDocument document)
Constructs a new find replace document adapter.

Parameters:
  `document` - the adapted document

## Method Details

### 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