fop 1.1

## org.apache.fop.fo
Class RecursiveCharIterator

    java.lang.Object
      org.apache.fop.fo.CharIterator
          org.apache.fop.fo.RecursiveCharIterator

All Implemented Interfaces:
  java.lang.Cloneable, java.util.Iterator

    public class RecursiveCharIterator

extends CharIterator

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.

Constructor Summary
`RecursiveCharIterator(FObj fobj)` Constructor which creates an iterator for all child nodes
`RecursiveCharIterator(FObj fobj, FONode child)` Constructor which creates an iterator for only some child nodes

Method Summary
`java.lang.Object` `clone()`
`boolean` `hasNext()`
`CharIterator` `mark()`
`char` `nextChar()`
`void` `remove()`
`void` `replaceChar(char c)` Replaces the current character in the CharIterator with a specified character

Methods 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`

Constructor Detail

### RecursiveCharIterator

    public RecursiveCharIterator(FObj fobj)

  Constructor which creates an iterator for all child nodes

  Parameters:
    `fobj` - FONode for which an iterator should be created

### RecursiveCharIterator

    public RecursiveCharIterator(FObj fobj,
                                 FONode child)

  Constructor which creates an iterator for only some child nodes

  Parameters:
    `fobj` - FObj for which an iterator should be created
    `child` - FONode of the first child to include in iterator

Method Detail

### mark

    public CharIterator mark()

  Returns:
    clone of this, cast as a CharIterator

### clone

    public java.lang.Object clone()

  Description copied from class: `CharIterator`

  Overrides:
    `clone` in class `CharIterator`
  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 class `CharIterator`
  Parameters:
    `c` - the character which should be used to replace the current character

### hasNext

    public boolean hasNext()

  Description copied from class: `CharIterator`

  Specified by:
    `hasNext` in interface `java.util.Iterator`
  Specified by:
    `hasNext` in class `CharIterator`
  Returns:
    true if there are more items in the CharIterator

### nextChar

    public char nextChar()
                  throws java.util.NoSuchElementException

  Specified by:
    `nextChar` in class `CharIterator`
  Returns:
    the character that is the next character in the collection
  Throws:
    `java.util.NoSuchElementException` - if there are no more characters (test for this condition with java.util.Iterator.hasNext()).

### remove

    public void remove()

  Specified by:
    `remove` in interface `java.util.Iterator`
  Overrides:
    `remove` in class `CharIterator`

fop 1.1

Copyright 1999-2012 The Apache Software Foundation. All Rights Reserved.