org.apache.fop.fo

## Interface FONode.FONodeIterator

All Superinterfaces:
  Iterator<FONode>, ListIterator<FONode>

All Known Implementing Classes:
  FObj.FObjIterator

Enclosing class:
  FONode

    public static interface FONode.FONodeIterator
    extends ListIterator<FONode>

Base iterator interface over a FO's children, offering three methods on top of the base interface methods.

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `add(FONode newNode)` Add the given `newNode` at the current position.
`FONode` `first()` Returns the first node in the list, and decreases the index, so that a subsequent call to `hasPrevious()` will return `false`
`boolean` `hasNext()`
`boolean` `hasPrevious()`
`FONode` `last()` Returns the last node in the list, and advances the current position, so that a subsequent call to `hasNext()` will return `false`
`FONode` `next()`
`int` `nextIndex()`
`FObj` `parent()` Returns the parent node for this iterator's list of child nodes
`FONode` `previous()`
`int` `previousIndex()`
`void` `remove()` Removes the node at the current position.
`void` `set(FONode newNode)` Replace the node at the current index with the given `newNode`.

### Methods inherited from interface java.util.Iterator

`forEachRemaining`

### Method Detail

#### next

    FONode next()

Specified by:
  `next` in interface `Iterator<FONode>`
Specified by:
  `next` in interface `ListIterator<FONode>`
Returns:
  the next node

#### previous

    FONode previous()

Specified by:
  `previous` in interface `ListIterator<FONode>`
Returns:
  the previous node

#### set

    void set(FONode newNode)

Replace the node at the current index with the given `newNode`.

Specified by:
  `set` in interface `ListIterator<FONode>`
Parameters:
  `newNode` - the new node

#### add

    void add(FONode newNode)

Add the given `newNode` at the current position.

Specified by:
  `add` in interface `ListIterator<FONode>`
Parameters:
  `newNode` - the new node

#### hasNext

    boolean hasNext()

Specified by:
  `hasNext` in interface `Iterator<FONode>`
Specified by:
  `hasNext` in interface `ListIterator<FONode>`
Returns:
  `true` if there is a next node, `false` otherwise

#### hasPrevious

    boolean hasPrevious()

Specified by:
  `hasPrevious` in interface `ListIterator<FONode>`
Returns:
  `true` if there is a previous node, `false` otherwise

#### nextIndex

    int nextIndex()

Specified by:
  `nextIndex` in interface `ListIterator<FONode>`
Returns:
  the current index

#### previousIndex

    int previousIndex()

Specified by:
  `previousIndex` in interface `ListIterator<FONode>`
Returns:
  the previous index

#### remove

    void remove()

Removes the node at the current position.

Specified by:
  `remove` in interface `Iterator<FONode>`
Specified by:
  `remove` in interface `ListIterator<FONode>`

#### parent

    FObj parent()

Returns the parent node for this iterator's list of child nodes

Returns:
  the parent node

#### first

    FONode first()

Returns the first node in the list, and decreases the index, so that a subsequent call to `hasPrevious()` will return `false`

Returns:
  the first node in the list

#### last

    FONode last()

Returns the last node in the list, and advances the current position, so that a subsequent call to `hasNext()` will return `false`

Returns:
  the last node in the list