Package org.apache.fop.fo
Class RecursiveCharIterator
java.lang.Object
org.apache.fop.fo.CharIterator
org.apache.fop.fo.RecursiveCharIterator
Kind of a super-iterator that iterates through child nodes of an FONode,
in turn managing character iterators for each of them. Caveat: Because this
class is itself a CharIterator, and manages a collection of CharIterators, it
is easy to get confused.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Iterator
iterator for the child nodesprivate CharIterator
CharIterator for curChild's charactersprivate FONode
current child object that is being managed by childIterprivate FONode
parent node for whose child nodes this iterator iterates -
Constructor Summary
ConstructorsConstructorDescriptionRecursiveCharIterator
(FObj fobj) Constructor which creates an iterator for all child nodesRecursiveCharIterator
(FObj fobj, FONode child) Constructor which creates an iterator for only some child nodes -
Method Summary
Modifier and TypeMethodDescriptionclone()
private void
advances curChild to the next child in the collection, and curCharIter to the CharIterator for that item, or sets them to null if the iterator has no more itemsboolean
hasNext()
mark()
char
nextChar()
void
remove()
void
replaceChar
(char c) Replaces the current character in the CharIterator with a specified characterMethods inherited from class org.apache.fop.fo.CharIterator
next
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Field Details
-
fobj
parent node for whose child nodes this iterator iterates -
childIter
iterator for the child nodes -
curChild
current child object that is being managed by childIter -
curCharIter
CharIterator for curChild's characters
-
-
Constructor Details
-
RecursiveCharIterator
Constructor which creates an iterator for all child nodes- Parameters:
fobj
- FONode for which an iterator should be created
-
RecursiveCharIterator
Constructor which creates an iterator for only some child nodes- Parameters:
fobj
- FObj for which an iterator should be createdchild
- FONode of the first child to include in iterator
-
-
Method Details
-
mark
- Returns:
- clone of this, cast as a CharIterator
-
clone
Description copied from class:CharIterator
- Overrides:
clone
in classCharIterator
- Returns:
- a clone of this
-
replaceChar
public void replaceChar(char c) Replaces the current character in the CharIterator with a specified character- Overrides:
replaceChar
in classCharIterator
- Parameters:
c
- the character which should be used to replace the current character
-
getNextCharIter
private void getNextCharIter()advances curChild to the next child in the collection, and curCharIter to the CharIterator for that item, or sets them to null if the iterator has no more items -
hasNext
public boolean hasNext()Description copied from class:CharIterator
- Specified by:
hasNext
in interfaceIterator
- Specified by:
hasNext
in classCharIterator
- Returns:
- true if there are more items in the CharIterator
-
nextChar
- Specified by:
nextChar
in classCharIterator
- Returns:
- the character that is the next character in the collection
- Throws:
NoSuchElementException
- if there are no more characters (test for this condition with java.util.Iterator.hasNext()).
-
remove
public void remove()- Specified by:
remove
in interfaceIterator
- Overrides:
remove
in classCharIterator
-