Use is subject to License Terms. Your use of this web site or any of its content or software indicates your agreement to be bound by these License Terms.

Copyright © 2006 Sun Microsystems, Inc. All rights reserved.

JSR-209 (Final Approval Ballot)

javax.swing.text
Class Segment

java.lang.Object
  extended byjavax.swing.text.Segment
All Implemented Interfaces:
java.text.CharacterIterator, java.lang.Cloneable

public class Segment
extends java.lang.Object
implements java.lang.Cloneable, java.text.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
 char[] array
          This is the array containing the text of interest.
 int count
          This is the number of array elements that make up the text of interest.
 int offset
          This is the offset into the array that the desired text begins.
 
Fields inherited from interface java.text.CharacterIterator
DONE
 
Constructor Summary
Segment()
          Creates a new segment.
Segment(char[] array, int offset, int count)
          Creates a new segment referring to an existing array.
 
Method Summary
 java.lang.Object clone()
          Creates a shallow copy.
 char current()
          Gets the character at the current position (as returned by getIndex()).
 char first()
          Sets the position to getBeginIndex() and returns the character at that position.
 int getBeginIndex()
          Returns the start index of the text.
 int getEndIndex()
          Returns the end index of the text.
 int getIndex()
          Returns the current index.
 boolean isPartialReturn()
          Flag to indicate that partial returns are valid.
 char last()
          Sets the position to getEndIndex()-1 (getEndIndex() if the text is empty) and returns the character at that position.
 char next()
          Increments the iterator's index by one and returns the character at the new index.
 char previous()
          Decrements the iterator's index by one and returns the character at the new index.
 char setIndex(int position)
          Sets the position to the specified position in the text and returns that character.
 void setPartialReturn(boolean p)
          Flag to indicate that partial returns are valid.
 java.lang.String toString()
          Converts a segment into a String.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

array

public char[] array
This is the array containing the text of interest. This array should never be modified; it is available only for efficiency.


offset

public int offset
This is the offset into the array that the desired text begins.


count

public int count
This is the number of array elements that make up the text of interest.

Constructor Detail

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 to
offset - the offset into the array
count - the number of characters
Method Detail

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

public java.lang.String toString()
Converts a segment into a String.

Returns:
the string

first

public char first()
Sets the position to getBeginIndex() and returns the character at that position.

Specified by:
first in interface java.text.CharacterIterator
Returns:
the first character in the text, or DONE if the text is empty
See Also:
getBeginIndex()

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:
last in interface java.text.CharacterIterator
Returns:
the last character in the text, or DONE if the text is empty
See Also:
getEndIndex()

current

public char current()
Gets the character at the current position (as returned by getIndex()).

Specified by:
current in interface java.text.CharacterIterator
Returns:
the character at the current position or DONE if the current position is off the end of the text.
See Also:
getIndex()

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:
next in interface java.text.CharacterIterator
Returns:
the character at the new position or DONE if the new position is off the end of the text range.

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:
previous in interface java.text.CharacterIterator
Returns:
the character at the new position or DONE if the current position is equal to getBeginIndex().

setIndex

public char setIndex(int position)
Sets the position to the specified position in the text and returns that character.

Specified by:
setIndex in interface java.text.CharacterIterator
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()

getBeginIndex

public int getBeginIndex()
Returns the start index of the text.

Specified by:
getBeginIndex in interface java.text.CharacterIterator
Returns:
the index at which the text begins.

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:
getEndIndex in interface java.text.CharacterIterator
Returns:
the index after the last character in the text

getIndex

public int getIndex()
Returns the current index.

Specified by:
getIndex in interface java.text.CharacterIterator
Returns:
the current index.

clone

public java.lang.Object clone()
Creates a shallow copy.

Specified by:
clone in interface java.text.CharacterIterator
Returns:
the copy

JSR-209 (Final Approval Ballot)

Copyright © 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to License Terms. Your use of this web site or any of its content or software indicates your agreement to be bound by these License Terms.

For more information, please consult the JSR 209 specification.