org.apache.fop.fo

## Class FObj.FObjIterator

- java.lang.Object
- - org.apache.fop.fo.FObj.FObjIterator

All Implemented Interfaces:
  Iterator<FONode>, ListIterator<FONode>, FONode.FONodeIterator

Enclosing class:
  FObj

    public static class FObj.FObjIterator
    extends Object
    implements FONode.FONodeIterator

Basic `FONode.FONodeIterator` implementation

### Method Summary

All Methods Instance Methods Concrete 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 class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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

`forEachRemaining`

### Method Detail

#### parent

    public FObj parent()

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

Specified by:
  `parent` in interface `FONode.FONodeIterator`
Returns:
  the parent node

#### next

    public FONode next()

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

#### previous

    public FONode previous()

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

#### set

    public void set(FONode newNode)

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

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

#### add

    public void add(FONode newNode)

Add the given `newNode` at the current position.

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

#### hasNext

    public boolean hasNext()

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

#### hasPrevious

    public boolean hasPrevious()

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

#### nextIndex

    public int nextIndex()

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

#### previousIndex

    public int previousIndex()

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

#### remove

    public void remove()

Removes the node at the current position.

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

#### last

    public FONode last()

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

Specified by:
  `last` in interface `FONode.FONodeIterator`
Returns:
  the last node in the list

#### first

    public FONode first()

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

Specified by:
  `first` in interface `FONode.FONodeIterator`
Returns:
  the first node in the list