Package aQute.bnd.properties
Class CopyOnWriteTextStore.StringTextStore
- java.lang.Object
-
- aQute.bnd.properties.CopyOnWriteTextStore.StringTextStore
-
- All Implemented Interfaces:
ITextStore
- Enclosing class:
- CopyOnWriteTextStore
private static class CopyOnWriteTextStore.StringTextStore extends java.lang.Object implements ITextStore
An unmodifiable String based text store. It is not possible to modify the content other than usingset(java.lang.String)
. Trying toreplace(int, int, java.lang.String)
a text range will throw anUnsupportedOperationException
.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.String
fText
Represents the content of this text store.
-
Constructor Summary
Constructors Constructor Description StringTextStore()
Create an empty text store.StringTextStore(java.lang.String text)
Create a text store with initial content.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description char
get(int offset)
Returns the character at the specified offset.java.lang.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, java.lang.String text)
Replaces the specified character range with the given text.void
set(java.lang.String text)
Replace the content of the text store with the given text.
-
-
-
Method Detail
-
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
public java.lang.String get(int offset, int length)
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
public void replace(int offset, int length, java.lang.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 interfaceITextStore
- Parameters:
offset
- the offset of the range to be replacedlength
- the number of characters to be replacedtext
- the substitution text
-
set
public void set(java.lang.String text)
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
-
-