Class Segment
java.lang.Object
javax.swing.text.Segment
- All Implemented Interfaces:
CharSequence,Cloneable,CharacterIterator
A segment of a character array representing a fragment
of text. It should be treated as immutable even though
the array is directly accessible. This gives fast access
to fragments of text without the overhead of copying
around characters. This is effectively an unprotected
String.
The Segment implements the java.text.CharacterIterator interface to support use with the i18n support without copying text into a string.
-
Field Summary
FieldsModifier and TypeFieldDescriptionchar[]This is the array containing the text of interest.intThis is the number of array elements that make up the text of interest.intThis is the offset into the array that the desired text begins.Fields declared in interface java.text.CharacterIterator
DONE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncharcharAt(int index) Returns thecharvalue at the specified index.clone()Creates a shallow copy.charcurrent()Gets the character at the current position (as returned by getIndex()).charfirst()Sets the position to getBeginIndex() and returns the character at that position.intReturns the start index of the text.intReturns the end index of the text.intgetIndex()Returns the current index.booleanFlag to indicate that partial returns are valid.charlast()Sets the position to getEndIndex()-1 (getEndIndex() if the text is empty) and returns the character at that position.intlength()Returns the length of this character sequence.charnext()Increments the iterator's index by one and returns the character at the new index.charprevious()Decrements the iterator's index by one and returns the character at the new index.charsetIndex(int position) Sets the position to the specified position in the text and returns that character.voidsetPartialReturn(boolean p) Flag to indicate that partial returns are valid.subSequence(int start, int end) Returns aCharSequencethat is a subsequence of this sequence.toString()Converts a segment into a String.Methods declared in class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods declared in interface java.lang.CharSequence
chars, codePoints, isEmpty
-
Field Details
-
array
public char[] arrayThis is the array containing the text of interest. This array should never be modified; it is available only for efficiency. -
offset
public int offsetThis is the offset into the array that the desired text begins. -
count
public int countThis is the number of array elements that make up the text of interest.
-
-
Constructor Details
-
Segment
public Segment()Creates a new segment. -
Segment
public Segment(char[] array, int offset, int count) Creates a new segment referring to an existing array.- Parameters:
array- the array to refer tooffset- the offset into the arraycount- the number of characters
-
-
Method Details
-
setPartialReturn
public void setPartialReturn(boolean p) Flag to indicate that partial returns are valid. If the flag is true, an implementation of the interface method Document.getText(position,length,Segment) should return as much text as possible without making a copy. The default state of the flag is false which will cause Document.getText(position,length,Segment) to provide the same return behavior it always had, which may or may not make a copy of the text depending upon the request.- Parameters:
p- whether or not partial returns are valid.- Since:
- 1.4
-
isPartialReturn
public boolean isPartialReturn()Flag to indicate that partial returns are valid.- Returns:
- whether or not partial returns are valid.
- Since:
- 1.4
-
toString
Converts a segment into a String.- Specified by:
toStringin interfaceCharSequence- Overrides:
toStringin classObject- Returns:
- the string
-
first
public char first()Sets the position to getBeginIndex() and returns the character at that position.- Specified by:
firstin interfaceCharacterIterator- Returns:
- the first character in the text, or DONE if the text is empty
- Since:
- 1.3
- See Also:
-
last
public char last()Sets the position to getEndIndex()-1 (getEndIndex() if the text is empty) and returns the character at that position.- Specified by:
lastin interfaceCharacterIterator- Returns:
- the last character in the text, or DONE if the text is empty
- Since:
- 1.3
- See Also:
-
current
public char current()Gets the character at the current position (as returned by getIndex()).- Specified by:
currentin interfaceCharacterIterator- Returns:
- the character at the current position or DONE if the current position is off the end of the text.
- Since:
- 1.3
- See Also:
-
next
public char next()Increments the iterator's index by one and returns the character at the new index. If the resulting index is greater or equal to getEndIndex(), the current index is reset to getEndIndex() and a value of DONE is returned.- Specified by:
nextin interfaceCharacterIterator- Returns:
- the character at the new position or DONE if the new position is off the end of the text range.
- Since:
- 1.3
-
previous
public char previous()Decrements the iterator's index by one and returns the character at the new index. If the current index is getBeginIndex(), the index remains at getBeginIndex() and a value of DONE is returned.- Specified by:
previousin interfaceCharacterIterator- Returns:
- the character at the new position or DONE if the current position is equal to getBeginIndex().
- Since:
- 1.3
-
setIndex
public char setIndex(int position) Sets the position to the specified position in the text and returns that character.- Specified by:
setIndexin interfaceCharacterIterator- Parameters:
position- the position within the text. Valid values range from getBeginIndex() to getEndIndex(). An IllegalArgumentException is thrown if an invalid value is supplied.- Returns:
- the character at the specified position or DONE if the specified position is equal to getEndIndex()
- Since:
- 1.3
-
getBeginIndex
public int getBeginIndex()Returns the start index of the text.- Specified by:
getBeginIndexin interfaceCharacterIterator- Returns:
- the index at which the text begins.
- Since:
- 1.3
-
getEndIndex
public int getEndIndex()Returns the end index of the text. This index is the index of the first character following the end of the text.- Specified by:
getEndIndexin interfaceCharacterIterator- Returns:
- the index after the last character in the text
- Since:
- 1.3
-
getIndex
public int getIndex()Returns the current index.- Specified by:
getIndexin interfaceCharacterIterator- Returns:
- the current index.
- Since:
- 1.3
-
charAt
public char charAt(int index) Returns thecharvalue at the specified index. An index ranges from zero tolength() - 1. The firstcharvalue of the sequence is at index zero, the next at index one, and so on, as for array indexing.If the
charvalue specified by the index is a surrogate, the surrogate value is returned.- Specified by:
charAtin interfaceCharSequence- Parameters:
index- the index of thecharvalue to be returned- Returns:
- the specified
charvalue - Since:
- 1.6
-
length
public int length()Returns the length of this character sequence. The length is the number of 16-bitchars in the sequence.- Specified by:
lengthin interfaceCharSequence- Returns:
- the number of
chars in this sequence - Since:
- 1.6
-
subSequence
Returns aCharSequencethat is a subsequence of this sequence. The subsequence starts with thecharvalue at the specified index and ends with thecharvalue at indexend - 1. The length (inchars) of the returned sequence isend - start, so ifstart == endthen an empty sequence is returned.- Specified by:
subSequencein interfaceCharSequence- Parameters:
start- the start index, inclusiveend- the end index, exclusive- Returns:
- the specified subsequence
- Since:
- 1.6
-
clone
Creates a shallow copy.- Specified by:
clonein interfaceCharacterIterator- Overrides:
clonein classObject- Returns:
- the copy
- See Also:
-