javax.swing.text

Class Segment

Implemented Interfaces:
CharacterIterator, Cloneable

public class Segment
extends Object
implements Cloneable, CharacterIterator

A text fragment represented by a sequence of characters stored in an array.

Field Summary

char[]
array
Storage for the characters (may contain additional characters).
int
count
The number of characters in the segment.
int
offset
The offset of the first character in the segment.

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.

Method Summary

Object
clone()
Clones the segment (note that the underlying character array is not cloned, just the reference to it).
char
current()
Returns the character at the current index.
char
first()
Sets the current index to the first character in the segment and returns that character.
int
getBeginIndex()
Returns the index of the first character in the segment.
int
getEndIndex()
Returns the end index for the segment (one position beyond the last character in the segment - note that this can be outside the range of the underlying character array).
int
getIndex()
Returns the index of the current character in the segment.
boolean
isPartialReturn()
Returns the partial return flag.
char
last()
Sets the current index to point to the last character in the segment and returns that character.
char
next()
Sets the current index to point to the next character in the segment and returns that character.
char
previous()
Sets the current index to point to the previous character in the segment and returns that character.
char
setIndex(int position)
Sets the current index and returns the character at that position (or CharacterIterator.DONE if the index is equal to getEndIndex().
void
setPartialReturn(boolean p)
Sets the partial return flag.
String
toString()
Returns a String containing the same characters as this Segment.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

array

public char[] array
Storage for the characters (may contain additional characters).

count

public int count
The number of characters in the segment.

offset

public int offset
The offset of the first character in the segment.

Constructor Details

Segment

public Segment()
Creates a new Segment.

Segment

public Segment(char[] array,
               int offset,
               int count)
Creates a new Segment.
Parameters:
array - the underlying character data.
offset - the offset of the first character in the segment.
count - the number of characters in the segment.

Method Details

clone

public Object clone()
Clones the segment (note that the underlying character array is not cloned, just the reference to it).
Specified by:
clone in interface CharacterIterator
Overrides:
clone in interface Object
Returns:
A clone of the segment.

current

public char current()
Returns the character at the current index. If the segment consists of zero characters, or the current index has passed the end of the characters in the segment, this method returns CharacterIterator.DONE.
Specified by:
current in interface CharacterIterator
Returns:
The character at the current index.

first

public char first()
Sets the current index to the first character in the segment and returns that character. If the segment contains zero characters, this method returns CharacterIterator.DONE.
Specified by:
first in interface CharacterIterator
Returns:
The first character in the segment, or CharacterIterator.DONE if the segment contains zero characters.

getBeginIndex

public int getBeginIndex()
Returns the index of the first character in the segment.
Specified by:
getBeginIndex in interface CharacterIterator
Returns:
The index of the first character.

getEndIndex

public int getEndIndex()
Returns the end index for the segment (one position beyond the last character in the segment - note that this can be outside the range of the underlying character array).
Specified by:
getEndIndex in interface CharacterIterator
Returns:
The end index for the segment.

getIndex

public int getIndex()
Returns the index of the current character in the segment.
Specified by:
getIndex in interface CharacterIterator
Returns:
The index of the current character.

isPartialReturn

public boolean isPartialReturn()
Returns the partial return flag.
Returns:
The partial return flag.
Since:
1.4

last

public char last()
Sets the current index to point to the last character in the segment and returns that character. If the segment contains zero characters, the current index is set to getEndIndex() and this method returns CharacterIterator.DONE.
Specified by:
last in interface CharacterIterator
Returns:
The last character in the segment, or CharacterIterator.DONE if the segment contains zero characters.

next

public char next()
Sets the current index to point to the next character in the segment and returns that character. If the next character position is past the end of the segment, the index is set to getEndIndex() and the method returns CharacterIterator.DONE. If the segment contains zero characters, this method returns CharacterIterator.DONE.
Specified by:
next in interface CharacterIterator
Returns:
The next character in the segment or CharacterIterator.DONE (if the next character position is past the end of the segment or if the segment contains zero characters).

previous

public char previous()
Sets the current index to point to the previous character in the segment and returns that character. If the current index is equal to getBeginIndex(), or if the segment contains zero characters, this method returns CharacterIterator.DONE.
Specified by:
previous in interface CharacterIterator
Returns:
The previous character in the segment or CharacterIterator.DONE (if the current character position is at the beginning of the segment or if the segment contains zero characters).

setIndex

public char setIndex(int position)
Sets the current index and returns the character at that position (or CharacterIterator.DONE if the index is equal to getEndIndex().
Specified by:
setIndex in interface CharacterIterator
Parameters:
position - the current position.
Returns:
The character at the specified position, or CharacterIterator.DONE if position is equal to getEndIndex().
Throws:
IllegalArgumentException - if position is not in the range getBeginIndex() to getEndIndex().

setPartialReturn

public void setPartialReturn(boolean p)
Sets the partial return flag.
Parameters:
p - the new value of the flag.
Since:
1.4

toString

public String toString()
Returns a String containing the same characters as this Segment.
Overrides:
toString in interface Object
Returns:
A String containing the same characters as this Segment.

Segment.java -- Copyright (C) 2002, 2004, 2006 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.