Package org.apache.fop.layoutmgr
Class LocalBreaker
- java.lang.Object
-
- org.apache.fop.layoutmgr.AbstractBreaker
-
- org.apache.fop.layoutmgr.LocalBreaker
-
public abstract class LocalBreaker extends AbstractBreaker
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.fop.layoutmgr.AbstractBreaker
AbstractBreaker.BlockSequence, AbstractBreaker.FloatPosition, AbstractBreaker.PageBreakPosition
-
-
Field Summary
Fields Modifier and Type Field Description protected BlockStackingLayoutManagerlm-
Fields inherited from class org.apache.fop.layoutmgr.AbstractBreaker
alignment, blockListIndex, blockLists, firstElementsForRestart, footnoteSeparatorLength, log, originalRestartAtLM, positionAtBreak, pslm
-
-
Constructor Summary
Constructors Constructor Description LocalBreaker(BlockStackingLayoutManager lm, int ipd, int displayAlign)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddAreas(PositionIterator posIter, LayoutContext context)Tell the layout manager to add all the child areas implied by Position objects which will be returned by the Iterator.protected LayoutContextcreateLayoutContext()Creates the top-level LayoutContext for the breaker operation.protected org.apache.fop.layoutmgr.PageBreakingAlgorithm.PageBreakingLayoutListenercreateLayoutListener()Creates and returns a PageBreakingLayoutListener for the PageBreakingAlgorithm to notify about layout problems.protected voiddoPhase3(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg, int partCount, AbstractBreaker.BlockSequence originalList, AbstractBreaker.BlockSequence effectiveList)Phase 3 of Knuth algorithm: Adds the areasprotected voidfinishPart(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg, AbstractBreaker.PageBreakPosition pbp)Finish part.protected LayoutManagergetCurrentChildLM()protected intgetCurrentDisplayAlign()protected java.util.ListgetNextKnuthElements(LayoutContext context, int alignment)Get a sequence of KnuthElements representing the content of the node assigned to the LMintgetOverflowAmount()protected LayoutManagergetTopLevelLM()protected booleanhasMoreContent()booleanisOverflow()protected booleanisPartOverflowRecoveryActivated()Controls the behaviour of the algorithm in cases where the first element of a part overflows a line/page.voidsetDescendantOfTableFooter(boolean isDescendantOfTableFooter)voidsetRepeatedFooter(boolean repeatedFooter)voidsetRepeatedHeader(boolean repeatedHeader)-
Methods inherited from class org.apache.fop.layoutmgr.AbstractBreaker
addAreas, addAreas, addAreas, addAreasForFloats, containsNonRestartableLM, doLayout, getNextBlockList, getNextBlockList, getNextKnuthElements, getPageProvider, handleEmptyContent, handleFloatLayout, handleSpanChange, isEmpty, isSinglePartFavored, lastPageHasIPDChange, observeElementList, prepareToRedoLayout, shouldRedoLayout, startPart, updateLayoutContext, wasLayoutRedone
-
-
-
-
Field Detail
-
lm
protected BlockStackingLayoutManager lm
-
-
Constructor Detail
-
LocalBreaker
public LocalBreaker(BlockStackingLayoutManager lm, int ipd, int displayAlign)
-
-
Method Detail
-
setRepeatedFooter
public void setRepeatedFooter(boolean repeatedFooter)
-
setDescendantOfTableFooter
public void setDescendantOfTableFooter(boolean isDescendantOfTableFooter)
-
setRepeatedHeader
public void setRepeatedHeader(boolean repeatedHeader)
-
isPartOverflowRecoveryActivated
protected boolean isPartOverflowRecoveryActivated()
Controls the behaviour of the algorithm in cases where the first element of a part overflows a line/page.- Overrides:
isPartOverflowRecoveryActivatedin classAbstractBreaker- Returns:
- true if the algorithm should try to send the element to the next line/page.
-
isOverflow
public boolean isOverflow()
-
getOverflowAmount
public int getOverflowAmount()
-
createLayoutListener
protected org.apache.fop.layoutmgr.PageBreakingAlgorithm.PageBreakingLayoutListener createLayoutListener()
Creates and returns a PageBreakingLayoutListener for the PageBreakingAlgorithm to notify about layout problems.- Overrides:
createLayoutListenerin classAbstractBreaker- Returns:
- the listener instance or null if no notifications are needed
-
getTopLevelLM
protected LayoutManager getTopLevelLM()
- Specified by:
getTopLevelLMin classAbstractBreaker- Returns:
- top level layout manager
-
createLayoutContext
protected LayoutContext createLayoutContext()
Description copied from class:AbstractBreakerCreates the top-level LayoutContext for the breaker operation.- Overrides:
createLayoutContextin classAbstractBreaker- Returns:
- the top-level LayoutContext
-
getNextKnuthElements
protected java.util.List getNextKnuthElements(LayoutContext context, int alignment)
Description copied from class:AbstractBreakerGet a sequence of KnuthElements representing the content of the node assigned to the LM- Specified by:
getNextKnuthElementsin classAbstractBreaker- Parameters:
context- the LayoutContext used to store layout informationalignment- the desired text alignment- Returns:
- the list of KnuthElements
-
getCurrentDisplayAlign
protected int getCurrentDisplayAlign()
- Specified by:
getCurrentDisplayAlignin classAbstractBreaker- Returns:
- current display alignment
-
hasMoreContent
protected boolean hasMoreContent()
- Specified by:
hasMoreContentin classAbstractBreaker- Returns:
- true if content not exhausted
-
addAreas
protected void addAreas(PositionIterator posIter, LayoutContext context)
Description copied from class:AbstractBreakerTell the layout manager to add all the child areas implied by Position objects which will be returned by the Iterator.- Specified by:
addAreasin classAbstractBreaker- Parameters:
posIter- the position iteratorcontext- the context
-
doPhase3
protected void doPhase3(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg, int partCount, AbstractBreaker.BlockSequence originalList, AbstractBreaker.BlockSequence effectiveList)Description copied from class:AbstractBreakerPhase 3 of Knuth algorithm: Adds the areas- Specified by:
doPhase3in classAbstractBreaker- Parameters:
alg- PageBreakingAlgorithm instance which determined the breakspartCount- number of parts (pages) to be renderedoriginalList- original Knuth element listeffectiveList- effective Knuth element list (after adjustments)
-
finishPart
protected void finishPart(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg, AbstractBreaker.PageBreakPosition pbp)Description copied from class:AbstractBreakerFinish part.- Specified by:
finishPartin classAbstractBreaker- Parameters:
alg- a page breaking algorithmpbp- a page break posittion
-
getCurrentChildLM
protected LayoutManager getCurrentChildLM()
- Specified by:
getCurrentChildLMin classAbstractBreaker- Returns:
- current child layout manager
-
-