Eclipse Platform
Release 3.2

org.eclipse.jface.text
Class CopyOnWriteTextStore

java.lang.Object
  extended byorg.eclipse.jface.text.CopyOnWriteTextStore
All Implemented Interfaces:
ITextStore

public class CopyOnWriteTextStore
extends Object
implements 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

Field Summary
protected  ITextStore fTextStore
          The underlying "real" text store
 
Constructor Summary
CopyOnWriteTextStore(ITextStore modifiableTextStore)
          Creates an empty text store.
 
Method Summary
 char get(int offset)
          Returns the character at the specified offset.
 String get(int offset, int length)
          Returns the text of the specified character range.
 int getLength()
          Returns number of characters stored in this text store.
 void replace(int offset, int length, String text)
          Replaces the specified character range with the given text.
 void set(String text)
          Replace the content of the text store with the given text.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fTextStore

protected ITextStore fTextStore
The underlying "real" text store

Constructor Detail

CopyOnWriteTextStore

public CopyOnWriteTextStore(ITextStore modifiableTextStore)
Creates an empty text store. The given text store will be used upon first modification attempt.

Parameters:
modifiableTextStore - a modifiable ITextStore instance, may not be null
Method Detail

get

public char get(int offset)
Description copied from interface: ITextStore
Returns the character at the specified offset.

Specified by:
get in interface ITextStore
Parameters:
offset - the offset in this text store
Returns:
the character at this offset

get

public String get(int offset,
                  int length)
Description copied from interface: ITextStore
Returns the text of the specified character range.

Specified by:
get in interface ITextStore
Parameters:
offset - the offset of the range
length - 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 interface ITextStore
Returns:
the number of characters stored in this text store

replace

public void replace(int offset,
                    int length,
                    String text)
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 interface ITextStore
Parameters:
offset - the offset of the range to be replaced
length - the number of characters to be replaced
text - the substitution text

set

public void set(String text)
Description copied from interface: ITextStore
Replace the content of the text store with the given text. Convenience method for replace(0, getLength(), text.

Specified by:
set in interface ITextStore
Parameters:
text - the new content of the text store

Eclipse Platform
Release 3.2

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.