java.text

Class StringCharacterIterator

Implemented Interfaces:
CharacterIterator, Cloneable

public final class StringCharacterIterator
extends Object
implements CharacterIterator

This class iterates over a range of characters in a String. For a given range of text, a beginning and ending index, as well as a current index are defined. These values can be queried by the methods in this interface. Additionally, various methods allow the index to be set.

Fields inherited from interface java.text.CharacterIterator

DONE

Constructor Summary

StringCharacterIterator(String text)
This method initializes a new instance of StringCharacterIterator to iterate over the entire text of the specified String.
StringCharacterIterator(String text, int index)
This method initializes a new instance of StringCharacterIterator to iterate over the entire text of the specified String.
StringCharacterIterator(String text, int begin, int end, int index)
This method initializes a new instance of StringCharacterIterator that iterates over the text in a subrange of the specified String.

Method Summary

Object
clone()
This method creates a copy of this CharacterIterator.
char
current()
This method returns the character at the current index position
boolean
equals(Object obj)
This method tests this object for equality againt the specified object.
char
first()
This method sets the index value to the beginning of the range and returns the character there.
int
getBeginIndex()
This method returns the character position of the first character in the range.
int
getEndIndex()
This method returns the character position of the end of the text range.
int
getIndex()
This method returns the current value of the index.
int
hashCode()
Return the hash code for this object.
char
last()
This method sets the index value to getEndIndex () - 1 and returns the character there.
char
next()
This method increments the current index and then returns the character at the new index value.
char
previous()
This method decrements the current index and then returns the character at the new index value.
char
setIndex(int index)
This method sets the value of the index to the specified value, then returns the character at that position.
void
setText(String text)
This method allows other classes in java.text to change the value of the underlying text being iterated through.

Methods inherited from class java.lang.Object

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

Constructor Details

StringCharacterIterator

public StringCharacterIterator(String text)
This method initializes a new instance of StringCharacterIterator to iterate over the entire text of the specified String. The initial index value will be set to the first character in the string.
Parameters:
text - The String to iterate through (null not permitted).
Throws:
NullPointerException - if text is null.

StringCharacterIterator

public StringCharacterIterator(String text,
                               int index)
This method initializes a new instance of StringCharacterIterator to iterate over the entire text of the specified String. The initial index value will be set to the specified value.
Parameters:
text - The String to iterate through.
index - The initial index position.

StringCharacterIterator

public StringCharacterIterator(String text,
                               int begin,
                               int end,
                               int index)
This method initializes a new instance of StringCharacterIterator that iterates over the text in a subrange of the specified String. The beginning and end of the range are specified by the caller, as is the initial index position.
Parameters:
text - The String to iterate through.
begin - The beginning position in the character range.
end - The ending position in the character range.
index - The initial index position.
Throws:
IllegalArgumentException - If any of the range values are invalid.

Method Details

clone

public Object clone()
This method creates a copy of this CharacterIterator.
Specified by:
clone in interface CharacterIterator
Overrides:
clone in interface Object
Returns:
A copy of this CharacterIterator.

current

public char current()
This method returns the character at the current index position
Specified by:
current in interface CharacterIterator
Returns:
The character at the current index position.

equals

public boolean equals(Object obj)
This method tests this object for equality againt the specified object. This will be true if and only if the specified object:

  • is not null.
  • is an instance of StringCharacterIterator
  • has the same text as this object
  • has the same beginning, ending, and current index as this object.
Overrides:
equals in interface Object
Parameters:
obj - The object to test for equality against.
Returns:
true if the specified object is equal to this object, false otherwise.

first

public char first()
This method sets the index value to the beginning of the range and returns the character there.
Specified by:
first in interface CharacterIterator
Returns:
The character at the beginning of the range, or DONE if the range is empty.

getBeginIndex

public int getBeginIndex()
This method returns the character position of the first character in the range.
Specified by:
getBeginIndex in interface CharacterIterator
Returns:
The index of the first character in the range.

getEndIndex

public int getEndIndex()
This method returns the character position of the end of the text range. This will actually be the index of the first character following the end of the range. In the event the text range is empty, this will be equal to the first character in the range.
Specified by:
getEndIndex in interface CharacterIterator
Returns:
The index of the end of the range.

getIndex

public int getIndex()
This method returns the current value of the index.
Specified by:
getIndex in interface CharacterIterator
Returns:
The current index value

hashCode

public int hashCode()
Return the hash code for this object.
Overrides:
hashCode in interface Object
Returns:
the hash code

last

public char last()
This method sets the index value to getEndIndex () - 1 and returns the character there. If the range is empty, then the index value will be set equal to the beginning index.
Specified by:
last in interface CharacterIterator
Returns:
The character at the end of the range, or DONE if the range is empty.

next

public char next()
This method increments the current index and then returns the character at the new index value. If the index is already at getEndIndex () - 1, it will not be incremented.
Specified by:
next in interface CharacterIterator
Returns:
The character at the position of the incremented index value, or DONE if the index has reached getEndIndex () - 1.

previous

public char previous()
This method decrements the current index and then returns the character at the new index value. If the index value is already at the beginning index, it will not be decremented.
Specified by:
previous in interface CharacterIterator
Returns:
The character at the position of the decremented index value, or DONE if index was already equal to the beginning index value.

setIndex

public char setIndex(int index)
This method sets the value of the index to the specified value, then returns the character at that position.
Specified by:
setIndex in interface CharacterIterator
Parameters:
index - The new index value.
Returns:
The character at the new index value or DONE if the index value is equal to getEndIndex.
Throws:
IllegalArgumentException - If the specified index is not valid

setText

public void setText(String text)
This method allows other classes in java.text to change the value of the underlying text being iterated through.
Parameters:
text - The new String to iterate through.

StringCharacterIterator.java -- Iterate over a character range in a string Copyright (C) 1998, 1999, 2001, 2005 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.