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
`protected BlockStackingLayoutManager` `lm`

### Fields inherited from class org.apache.fop.layoutmgr.AbstractBreaker

`alignment, blockListIndex, blockLists, firstElementsForRestart, footnoteSeparatorLength, log, originalRestartAtLM, positionAtBreak, pslm`

### Constructor Summary

Constructors
Constructor and Description
`LocalBreaker(BlockStackingLayoutManager lm, int ipd, int displayAlign)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `addAreas(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 LayoutContext` `createLayoutContext()` Creates the top-level LayoutContext for the breaker operation.
`protected PageBreakingAlgorithm.PageBreakingLayoutListener` `createLayoutListener()` Creates and returns a PageBreakingLayoutListener for the PageBreakingAlgorithm to notify about layout problems.
`protected void` `doPhase3(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg, int partCount, AbstractBreaker.BlockSequence originalList, AbstractBreaker.BlockSequence effectiveList)` Phase 3 of Knuth algorithm: Adds the areas
`protected void` `finishPart(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg, AbstractBreaker.PageBreakPosition pbp)` Finish part.
`protected LayoutManager` `getCurrentChildLM()`
`protected int` `getCurrentDisplayAlign()`
`protected List<ListElement>` `getNextKnuthElements(LayoutContext context, int alignment)` Get a sequence of KnuthElements representing the content of the node assigned to the LM
`int` `getOverflowAmount()`
`protected LayoutManager` `getTopLevelLM()`
`protected boolean` `hasMoreContent()`
`boolean` `isOverflow()`
`protected boolean` `isPartOverflowRecoveryActivated()` Controls the behaviour of the algorithm in cases where the first element of a part overflows a line/page.
`void` `setDescendantOfTableFooter(boolean isDescendantOfTableFooter)`
`void` `setRepeatedFooter(boolean repeatedFooter)`
`void` `setRepeatedHeader(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`

### Methods inherited from class java.lang.Object

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

### 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:
  `isPartOverflowRecoveryActivated` in class `AbstractBreaker`
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 PageBreakingAlgorithm.PageBreakingLayoutListener createLayoutListener()

Creates and returns a PageBreakingLayoutListener for the PageBreakingAlgorithm to notify about layout problems.

Overrides:
  `createLayoutListener` in class `AbstractBreaker`
Returns:
  the listener instance or null if no notifications are needed

#### getTopLevelLM

    protected LayoutManager getTopLevelLM()

Specified by:
  `getTopLevelLM` in class `AbstractBreaker`
Returns:
  top level layout manager

#### createLayoutContext

    protected LayoutContext createLayoutContext()

Description copied from class: `AbstractBreaker`
Creates the top-level LayoutContext for the breaker operation.

Overrides:
  `createLayoutContext` in class `AbstractBreaker`
Returns:
  the top-level LayoutContext

#### getNextKnuthElements

    protected List<ListElement> getNextKnuthElements(LayoutContext context,
                                                     int alignment)

Description copied from class: `AbstractBreaker`
Get a sequence of KnuthElements representing the content of the node assigned to the LM

Specified by:
  `getNextKnuthElements` in class `AbstractBreaker`
Parameters:
  `context` - the LayoutContext used to store layout information
  `alignment` - the desired text alignment
Returns:
  the list of KnuthElements

#### getCurrentDisplayAlign

    protected int getCurrentDisplayAlign()

Specified by:
  `getCurrentDisplayAlign` in class `AbstractBreaker`
Returns:
  current display alignment

#### hasMoreContent

    protected boolean hasMoreContent()

Specified by:
  `hasMoreContent` in class `AbstractBreaker`
Returns:
  true if content not exhausted

#### addAreas

    protected void addAreas(PositionIterator posIter,
                            LayoutContext context)

Description copied from class: `AbstractBreaker`
Tell the layout manager to add all the child areas implied by Position objects which will be returned by the Iterator.

Specified by:
  `addAreas` in class `AbstractBreaker`
Parameters:
  `posIter` - the position iterator
  `context` - the context

#### doPhase3

    protected void doPhase3(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg,
                            int partCount,
                            AbstractBreaker.BlockSequence originalList,
                            AbstractBreaker.BlockSequence effectiveList)

Description copied from class: `AbstractBreaker`
Phase 3 of Knuth algorithm: Adds the areas

Specified by:
  `doPhase3` in class `AbstractBreaker`
Parameters:
  `alg` - PageBreakingAlgorithm instance which determined the breaks
  `partCount` - number of parts (pages) to be rendered
  `originalList` - original Knuth element list
  `effectiveList` - effective Knuth element list (after adjustments)

#### finishPart

    protected void finishPart(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg,
                              AbstractBreaker.PageBreakPosition pbp)

Description copied from class: `AbstractBreaker`
Finish part.

Specified by:
  `finishPart` in class `AbstractBreaker`
Parameters:
  `alg` - a page breaking algorithm
  `pbp` - a page break posittion

#### getCurrentChildLM

    protected LayoutManager getCurrentChildLM()

Specified by:
  `getCurrentChildLM` in class `AbstractBreaker`
Returns:
  current child layout manager