fop 1.1

## org.apache.fop.layoutmgr
Class PositionIterator

    java.lang.Object
      org.apache.fop.layoutmgr.PositionIterator

All Implemented Interfaces:
  java.util.Iterator<Position>

Direct Known Subclasses:
  KnuthPossPosIter

    public class PositionIterator

extends java.lang.Object
implements java.util.Iterator<Position>

An iterator over `Position` instances, that is wrapped around another 'parent' `Iterator`. The parent can be either another `PositionIterator`, or an iterator over `KnuthElement`s, for example.
The `next()` method always returns a `Position`. The `getPos(Object)` method can be overridden in subclasses to take care of obtaining the `LayoutManager` or `Position` from the object returned by the parent iterator's `next()` method.

Constructor Summary
`PositionIterator(java.util.Iterator parentIter)` Construct position iterator.

Method Summary
`protected boolean` `checkNext()`
`protected void` `endIter()` end (reset) iterator
`protected LayoutManager` `getLM(java.lang.Object nextObj)`
`LayoutManager` `getNextChildLM()`
`protected Position` `getPos(java.lang.Object nextObj)` Default implementation assumes that the passed `nextObj` is itself a `Position`, and just returns it.
`boolean` `hasNext()`
`Position` `next()`
`java.lang.Object` `peekNext()`
`void` `remove()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PositionIterator

    public PositionIterator(java.util.Iterator parentIter)

  Construct position iterator.

  Parameters:
    `parentIter` - an iterator to use as parent

Method Detail

### getNextChildLM

    public LayoutManager getNextChildLM()

  Returns:
    layout manager of next child layout manager or null

### getLM

    protected LayoutManager getLM(java.lang.Object nextObj)

  Parameters:
    `nextObj` - next object from which to obtain position
  Returns:
    layout manager

### getPos

    protected Position getPos(java.lang.Object nextObj)

  Default implementation assumes that the passed `nextObj` is itself a `Position`, and just returns it. Subclasses for which this is not the case, must provide a suitable override this method.

  Parameters:
    `nextObj` - next object from which to obtain position
  Returns:
    position of next object.

### checkNext

    protected boolean checkNext()

  Returns:
    true if not at end of sub-sequence with same child layout manager

### endIter

    protected void endIter()

  end (reset) iterator

### hasNext

    public boolean hasNext()

  Specified by:
    `hasNext` in interface `java.util.Iterator<Position>`

### next

    public Position next()
                  throws java.util.NoSuchElementException

  Specified by:
    `next` in interface `java.util.Iterator<Position>`
  Throws:
    `java.util.NoSuchElementException`

### peekNext

    public java.lang.Object peekNext()

  Returns:
    peek at next object

### remove

    public void remove()
                throws java.lang.UnsupportedOperationException

  Specified by:
    `remove` in interface `java.util.Iterator<Position>`
  Throws:
    `java.lang.UnsupportedOperationException`

fop 1.1

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