fop 2.1

org.apache.fop.layoutmgr
Class PositionIterator

java.lang.Object
  extended by 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 KnuthElements, 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 2.1

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