Package org.eclipse.jface.text
Class CopyOnWriteTextStore
java.lang.Object
org.eclipse.jface.text.CopyOnWriteTextStore
- All Implemented Interfaces:
ITextStore
Copy-on-write
ITextStore
wrapper.
This implementation uses an unmodifiable text store for the initial content. Upon first modification attempt, the unmodifiable store is replaced with a modifiable instance which must be supplied in the constructor.
This class is not intended to be subclassed.
- Since:
- 3.2
- Restriction:
- This class is not intended to be subclassed by clients.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionCopyOnWriteTextStore
(ITextStore modifiableTextStore) Creates an empty text store. -
Method Summary
Modifier and TypeMethodDescriptionchar
get
(int offset) Returns the character at the specified offset.get
(int offset, int length) Returns the text of the specified character range.int
Returns number of characters stored in this text store.void
Replaces the specified character range with the given text.void
Replace the content of the text store with the given text.
-
Field Details
-
fTextStore
The underlying "real" text store
-
-
Constructor Details
-
CopyOnWriteTextStore
Creates an empty text store. The given text store will be used upon first modification attempt.- Parameters:
modifiableTextStore
- a modifiableITextStore
instance, may not benull
-
-
Method Details
-
get
public char get(int offset) Description copied from interface:ITextStore
Returns the character at the specified offset.- Specified by:
get
in interfaceITextStore
- Parameters:
offset
- the offset in this text store- Returns:
- the character at this offset
-
get
Description copied from interface:ITextStore
Returns the text of the specified character range.- Specified by:
get
in interfaceITextStore
- Parameters:
offset
- the offset of the rangelength
- the length of the range- Returns:
- the text of the range
-
getLength
public int getLength()Description copied from interface:ITextStore
Returns number of characters stored in this text store.- Specified by:
getLength
in interfaceITextStore
- Returns:
- the number of characters stored in this text store
-
replace
Description copied from interface:ITextStore
Replaces the specified character range with the given text.replace(getLength(), 0, "some text")
is a valid call and appends text to the end of the text store.- Specified by:
replace
in interfaceITextStore
- Parameters:
offset
- the offset of the range to be replacedlength
- the number of characters to be replacedtext
- the substitution text
-
set
Description copied from interface:ITextStore
Replace the content of the text store with the given text. Convenience method forreplace(0, getLength(), text
.- Specified by:
set
in interfaceITextStore
- Parameters:
text
- the new content of the text store
-