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 Iteratoriterator for the child nodesprivate CharIteratorCharIterator for curChild's charactersprivate FONodecurrent child object that is being managed by childIterprivate FONodeparent 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 voidadvances 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 itemsbooleanhasNext()mark()charnextChar()voidremove()voidreplaceChar(char c) Replaces the current character in the CharIterator with a specified characterMethods inherited from class org.apache.fop.fo.CharIterator
nextMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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:
clonein classCharIterator- Returns:
- a clone of this
-
replaceChar
public void replaceChar(char c) Replaces the current character in the CharIterator with a specified character- Overrides:
replaceCharin 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:
hasNextin interfaceIterator- Specified by:
hasNextin classCharIterator- Returns:
- true if there are more items in the CharIterator
-
nextChar
- Specified by:
nextCharin 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:
removein interfaceIterator- Overrides:
removein classCharIterator
-