com.ibm.richtext.textformat
Class MTextIterator

java.lang.Object
  |
  +--com.ibm.richtext.textformat.MTextIterator
All Implemented Interfaces:
java.text.AttributedCharacterIterator, java.text.CharacterIterator, java.lang.Cloneable

public final class MTextIterator
extends java.lang.Object
implements java.text.AttributedCharacterIterator, java.lang.Cloneable


Inner classes inherited from class java.text.AttributedCharacterIterator
java.text.AttributedCharacterIterator.Attribute
 
Fields inherited from interface java.text.CharacterIterator
DONE
 
Constructor Summary
MTextIterator(MConstText text, com.ibm.richtext.textformat.FontResolver resolver, int start, int limit)
          Create an MTextIterator over the range [start, limit).
 
Method Summary
 java.lang.Object clone()
           
 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.
 java.util.Set getAllAttributeKeys()
          Returns the keys of all attributes defined on the iterator's text range.
 java.lang.Object getAttribute(java.text.AttributedCharacterIterator.Attribute attribute)
          Returns the value of the named attribute for the current character.
 java.lang.Object getAttribute(java.lang.Object attribute)
          Returns the value of the named attribute for the current character.
 java.util.Map getAttributes()
          Returns a map with the attributes defined on the current character.
 int getBeginIndex()
          Returns the start index of the text.
 int getEndIndex()
          Returns the end index of the text.
 int getIndex()
          Returns the current index.
 int getRunLimit()
          Returns the index of the first character following the run with respect to all attributes containing the current character.
 int getRunLimit(java.text.AttributedCharacterIterator.Attribute attribute)
          Returns the index of the first character following the run with respect to the given attribute containing the current character.
 int getRunLimit(java.lang.Object attribute)
          Returns the index of the first character following the run with respect to the given attribute containing the current character.
 int getRunLimit(java.util.Set attributes)
          Returns the index of the first character following the run with respect to the given attributes containing the current character.
 int getRunStart()
          Returns the index of the first character of the run with respect to all attributes containing the current character.
 int getRunStart(java.text.AttributedCharacterIterator.Attribute attribute)
          Returns the index of the first character of the run with respect to the given attribute containing the current character.
 int getRunStart(java.lang.Object attribute)
          Returns the index of the first character of the run with respect to the given attribute containing the current character.
 int getRunStart(java.util.Set attributes)
          Returns the index of the first character of the run with respect to the given attributes containing the current character.
 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.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MTextIterator

public MTextIterator(MConstText text,
                     com.ibm.richtext.textformat.FontResolver resolver,
                     int start,
                     int limit)
Create an MTextIterator over the range [start, limit).
Method Detail

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.

getRunStart

public int getRunStart()
Returns the index of the first character of the run with respect to all attributes containing the current character.
Specified by:
getRunStart in interface java.text.AttributedCharacterIterator

getRunStart

public int getRunStart(java.lang.Object attribute)
Returns the index of the first character of the run with respect to the given attribute containing the current character.

getRunStart

public int getRunStart(java.text.AttributedCharacterIterator.Attribute attribute)
Returns the index of the first character of the run with respect to the given attribute containing the current character.
Specified by:
getRunStart in interface java.text.AttributedCharacterIterator

getRunStart

public int getRunStart(java.util.Set attributes)
Returns the index of the first character of the run with respect to the given attributes containing the current character.
Specified by:
getRunStart in interface java.text.AttributedCharacterIterator

getRunLimit

public int getRunLimit()
Returns the index of the first character following the run with respect to all attributes containing the current character.
Specified by:
getRunLimit in interface java.text.AttributedCharacterIterator

getRunLimit

public int getRunLimit(java.lang.Object attribute)
Returns the index of the first character following the run with respect to the given attribute containing the current character.

getRunLimit

public int getRunLimit(java.text.AttributedCharacterIterator.Attribute attribute)
Returns the index of the first character following the run with respect to the given attribute containing the current character.
Specified by:
getRunLimit in interface java.text.AttributedCharacterIterator

getRunLimit

public int getRunLimit(java.util.Set attributes)
Returns the index of the first character following the run with respect to the given attributes containing the current character.
Specified by:
getRunLimit in interface java.text.AttributedCharacterIterator

getAttributes

public java.util.Map getAttributes()
Returns a map with the attributes defined on the current character.
Specified by:
getAttributes in interface java.text.AttributedCharacterIterator

getAttribute

public java.lang.Object getAttribute(java.lang.Object attribute)
Returns the value of the named attribute for the current character. Returns null if the attribute is not defined.
Parameters:
attribute - the key of the attribute whose value is requested.

getAttribute

public java.lang.Object getAttribute(java.text.AttributedCharacterIterator.Attribute attribute)
Returns the value of the named attribute for the current character. Returns null if the attribute is not defined.
Specified by:
getAttribute in interface java.text.AttributedCharacterIterator
Parameters:
attribute - the key of the attribute whose value is requested.

getAllAttributeKeys

public java.util.Set getAllAttributeKeys()
Returns the keys of all attributes defined on the iterator's text range. The set is empty if no attributes are defined.
Specified by:
getAllAttributeKeys in interface java.text.AttributedCharacterIterator

clone

public java.lang.Object clone()
Specified by:
clone in interface java.text.CharacterIterator
Overrides:
clone in class java.lang.Object


Copyright (c) 2001 IBM Corporation and others.