LocalBreaker (Apache FOP Core 2.11 API)
Date: 2025-04-24

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 and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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

Copyright © 2025 Apache Software Foundation. All rights reserved.