Class PageSequenceLayoutManager

All Implemented Interfaces:
PercentBaseContext, Constants, LayoutManager, TopLevelLayoutManager

public class PageSequenceLayoutManager extends AbstractPageSequenceLayoutManager
LayoutManager for a PageSequence. This class is instantiated by area.AreaTreeHandler for each fo:page-sequence found in the input document.
  • Constructor Details

    • PageSequenceLayoutManager

      public PageSequenceLayoutManager(AreaTreeHandler ath, PageSequence pseq)
      Constructor
      Parameters:
      ath - the area tree handler object
      pseq - fo:page-sequence to process
  • Method Details

    • getPageProvider

      public PageProvider getPageProvider()
      Returns:
      the PageProvider applicable to this page-sequence.
    • getPageSequence

      protected PageSequence getPageSequence()
      Returns:
      the PageSequence being managed by this layout manager
    • getPSLM

      public PageSequenceLayoutManager getPSLM()
      Provides access to this object
      Specified by:
      getPSLM in interface LayoutManager
      Overrides:
      getPSLM in class AbstractLayoutManager
      Returns:
      this PageSequenceLayoutManager instance
    • getFlowLayoutManager

      public FlowLayoutManager getFlowLayoutManager()
    • activateLayout

      public void activateLayout()
      Activate the layout of this page sequence. PageViewports corresponding to each page generated by this page sequence will be created and sent to the AreaTreeModel for rendering.
    • initialize

      public void initialize()
      Description copied from class: AbstractPageSequenceLayoutManager
      initialize the layout manager. Allows each layout manager to calculate often used values.
      Specified by:
      initialize in interface LayoutManager
      Overrides:
      initialize in class AbstractPageSequenceLayoutManager
    • finishPageSequence

      public void finishPageSequence()
      Finished the page-sequence and notifies everyone about it.
    • createPage

      protected Page createPage(int pageNumber, boolean isBlank)
      Creates and returns a new page.
      Specified by:
      createPage in class AbstractPageSequenceLayoutManager
      Parameters:
      pageNumber - the page number
      isBlank - true if it's a blank page
      Returns:
      the newly created page
    • makeNewPage

      protected Page makeNewPage(boolean isBlank)
      Description copied from class: AbstractPageSequenceLayoutManager
      Makes a new page
      Overrides:
      makeNewPage in class AbstractPageSequenceLayoutManager
      Parameters:
      isBlank - whether this page is blank or not
      Returns:
      a new page
    • makeNewPage

      protected Page makeNewPage(boolean isBlank, boolean emptyContent)
    • finishPage

      protected void finishPage()
      Finishes a page in preparation for a new page.
      Overrides:
      finishPage in class AbstractPageSequenceLayoutManager
    • getForcedLastPageNum

      protected int getForcedLastPageNum(int lastPageNum)
      The last page number of the sequence may be incremented, as determined by the force-page-count formatting property semantics
      Parameters:
      lastPageNum - number of sequence
      Returns:
      the forced last page number of sequence
    • getLastPageNumber

      protected int getLastPageNumber()
      Overrides:
      getLastPageNumber in class AbstractPageSequenceLayoutManager
    • getWidthOfCurrentPage

      protected int getWidthOfCurrentPage()
    • addTableHeaderFootnotes

      public void addTableHeaderFootnotes(List<List<KnuthElement>> headerFootnotes)
      Registers the given footnotes so that they can be added to the current page, before any other footnote.
      Parameters:
      headerFootnotes - footnotes coming from a repeated table header
    • getTableHeaderFootnotes

      public List<List<KnuthElement>> getTableHeaderFootnotes()
    • addTableFooterFootnotes

      public void addTableFooterFootnotes(List<List<KnuthElement>> footerFootnotes)
      Registers the given footnotes so that they can be added to the current page, after any other footnote.
      Parameters:
      footerFootnotes - footnotes coming from a repeated table footer
    • getTableFooterFootnotes

      public List<List<KnuthElement>> getTableFooterFootnotes()
    • clearTableHeadingFootnotes

      public void clearTableHeadingFootnotes()
      Clears the footnotes coming from repeated table headers/footers, in order to start afresh for a new page.
    • setStartIntrusionAdjustment

      public void setStartIntrusionAdjustment(int sia)
    • setEndIntrusionAdjustment

      public void setEndIntrusionAdjustment(int eia)
    • getStartIntrusionAdjustment

      public int getStartIntrusionAdjustment()
    • getEndIntrusionAdjustment

      public int getEndIntrusionAdjustment()
    • recordEndOfFloat

      public void recordEndOfFloat(int fHeight)
    • handlingEndOfFloat

      public boolean handlingEndOfFloat()
    • getOffsetDueToFloat

      public int getOffsetDueToFloat()
    • recordStartOfFloat

      public void recordStartOfFloat(int fHeight, int fYOffset)
    • handlingStartOfFloat

      public boolean handlingStartOfFloat()
    • getFloatHeight

      public int getFloatHeight()
    • getFloatYOffset

      public int getFloatYOffset()
    • getCurrentColumnWidth

      public int getCurrentColumnWidth()
    • holdFootnotes

      public void holdFootnotes(List fl, List ll, int tfl, int ifl, boolean fp, boolean nf, int fnfi, int fli, int fei, MinOptMax fsl, int pfli, int pfei)
    • retrieveFootnotes

      public void retrieveFootnotes(org.apache.fop.layoutmgr.PageBreakingAlgorithm alg)