java.text
Class StringCharacterIterator

java.lang.Object
  extended by java.text.StringCharacterIterator
All Implemented Interfaces:
Cloneable, CharacterIterator

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.


Field Summary
 
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
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 Detail

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.

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.

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.

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.

getIndex

public int getIndex()
This method returns the current value of the index.

Specified by:
getIndex in interface CharacterIterator
Returns:
The current 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

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.

clone

public Object clone()
This method creates a copy of this CharacterIterator.

Specified by:
clone in interface CharacterIterator
Overrides:
clone in class Object
Returns:
A copy of this CharacterIterator.
See Also:
Cloneable

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:

Overrides:
equals in class Object
Parameters:
obj - The object to test for equality against.
Returns:
true if the specified object is equal to this object, false otherwise.
See Also:
Object.hashCode()

hashCode

public int hashCode()
Return the hash code for this object.

Overrides:
hashCode in class Object
Returns:
the hash code
See Also:
Object.equals(Object), System.identityHashCode(Object)

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.