Package 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 overPositioninstances, that is wrapped around another 'parent'Iterator. The parent can be either anotherPositionIterator, or an iterator overKnuthElements, for example.
Thenext()method always returns aPosition. ThegetPos(Object)method can be overridden in subclasses to take care of obtaining theLayoutManagerorPositionfrom the object returned by the parent iterator'snext()method.
-
-
Field Summary
Fields Modifier and Type Field Description private LayoutManagerchildLMprivate booleanhasNextprivate java.lang.ObjectnextObjprivate java.util.IteratorparentIter
-
Constructor Summary
Constructors Constructor Description PositionIterator(java.util.Iterator parentIter)Construct position iterator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancheckNext()protected voidendIter()end (reset) iteratorprotected LayoutManagergetLM(java.lang.Object nextObj)LayoutManagergetNextChildLM()protected PositiongetPos(java.lang.Object nextObj)Default implementation assumes that the passednextObjis itself aPosition, and just returns it.booleanhasNext()private voidlookAhead()Positionnext()java.lang.ObjectpeekNext()voidremove()
-
-
-
Field Detail
-
parentIter
private java.util.Iterator parentIter
-
nextObj
private java.lang.Object nextObj
-
childLM
private LayoutManager childLM
-
hasNext
private boolean hasNext
-
-
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 passednextObjis itself aPosition, 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.
-
lookAhead
private void lookAhead()
-
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:
hasNextin interfacejava.util.Iterator<Position>
-
next
public Position next() throws java.util.NoSuchElementException
- Specified by:
nextin interfacejava.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:
removein interfacejava.util.Iterator<Position>- Throws:
java.lang.UnsupportedOperationException
-
-