org.apache.fop.layoutmgr

## Class LayoutManagerMapping

- java.lang.Object
- - org.apache.fop.layoutmgr.LayoutManagerMapping

- All Implemented Interfaces:
    LayoutManagerMaker

      public class LayoutManagerMapping
      extends Object
      implements LayoutManagerMaker

  The default LayoutManager maker class

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `LayoutManagerMapping.BasicLinkLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.BidiOverrideLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.BlockContainerLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.BlockLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.CharacterLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.ExternalGraphicLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.FloatLayoutManagerMaker`
    `static class` | `LayoutManagerMapping.FootnoteLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.FOTextLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.InlineContainerLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.InlineLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.InstreamForeignObjectLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.LeaderLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.ListBlockLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.ListItemLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.Maker` a layout manager maker base class
    `class` | `LayoutManagerMapping.MultiCaseLayoutManagerMaker`
    `class` | `LayoutManagerMapping.MultiSwitchLayoutManagerMaker`
    `static class` | `LayoutManagerMapping.PageNumberCitationLastLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.PageNumberCitationLayoutManagerMaker` a layout manager maker
    `static class` | `LayoutManagerMapping.PageNumberLayoutManagerMaker` a layout manager maker
    `class` | `LayoutManagerMapping.RetrieveMarkerLayoutManagerMaker` a layout manager maker
    `class` | `LayoutManagerMapping.RetrieveTableMarkerLayoutManagerMaker`
    `static class` | `LayoutManagerMapping.TableLayoutManagerMaker` a layout manager maker
    `class` | `LayoutManagerMapping.WrapperLayoutManagerMaker` a layout manager maker

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `LayoutManagerMapping(FOUserAgent userAgent)` default constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `initialize()` Initializes the set of maker objects associated with this LayoutManagerMapping
    `ContentLayoutManager` | `makeContentLayoutManager(PageSequenceLayoutManager pslm, Title title)` Make a ContentLayoutManager object.
    `ExternalDocumentLayoutManager` | `makeExternalDocumentLayoutManager(AreaTreeHandler ath, ExternalDocument ed)` Make a ExternalDocumentLayoutManager object for the fox:external-document extension.
    `FlowLayoutManager` | `makeFlowLayoutManager(PageSequenceLayoutManager pslm, Flow flow)` Make a FlowLayoutManager object.
    `LayoutManager` | `makeLayoutManager(FONode node)` Make a specific LayoutManager for the node.
    `void` | `makeLayoutManagers(FONode node, List lms)` Make LayoutManagers for the node and add them to the list lms.
    `PageSequenceLayoutManager` | `makePageSequenceLayoutManager(AreaTreeHandler ath, PageSequence ps)` Make a PageSequenceLayoutManager object.
    `StaticContentLayoutManager` | `makeStaticContentLayoutManager(PageSequenceLayoutManager pslm, StaticContent sc, Block block)` Make a StaticContentLayoutManager object for a footnote-separator.
    `StaticContentLayoutManager` | `makeStaticContentLayoutManager(PageSequenceLayoutManager pslm, StaticContent sc, SideRegion reg)` Make a StaticContentLayoutManager object.
    `protected void` | `registerMaker(Class clazz, LayoutManagerMapping.Maker maker)` Registers a Maker class for a specific formatting object.

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

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

- - ### Constructor Detail

    - #### LayoutManagerMapping

          public LayoutManagerMapping(FOUserAgent userAgent)

      default constructor

  - ### Method Detail

    - #### initialize

          protected void initialize()

      Initializes the set of maker objects associated with this LayoutManagerMapping

    - #### registerMaker

          protected void registerMaker(Class clazz,
                                       LayoutManagerMapping.Maker maker)

      Registers a Maker class for a specific formatting object.
      Parameters:
        `clazz` - the formatting object class
        `maker` - the maker for the layout manager

    - #### makeLayoutManagers

          public void makeLayoutManagers(FONode node,
                                         List lms)

      Make LayoutManagers for the node and add them to the list lms.
      Specified by:
        `makeLayoutManagers` in interface `LayoutManagerMaker`
      Parameters:
        `node` - the FO node for which the LayoutManagers are made
        `lms` - the list to which the LayoutManagers are added

    - #### makeLayoutManager

          public LayoutManager makeLayoutManager(FONode node)

      Make a specific LayoutManager for the node. If not exactly one LayoutManagers is available, an IllegalStateException is thrown.
      Specified by:
        `makeLayoutManager` in interface `LayoutManagerMaker`
      Parameters:
        `node` - the FO node for which the LayoutManagers are made
      Returns:
        The created LayoutManager

    - #### makePageSequenceLayoutManager

          public PageSequenceLayoutManager makePageSequenceLayoutManager(AreaTreeHandler ath,
                                                                         PageSequence ps)

      Make a PageSequenceLayoutManager object.
      Specified by:
        `makePageSequenceLayoutManager` in interface `LayoutManagerMaker`
      Parameters:
        `ath` - the AreaTreeHandler object the PSLM interacts with
        `ps` - the fo:page-sequence object this PSLM will process
      Returns:
        The created PageSequenceLayoutManager object

    - #### makeExternalDocumentLayoutManager

          public ExternalDocumentLayoutManager makeExternalDocumentLayoutManager(AreaTreeHandler ath,
                                                                                 ExternalDocument ed)

      Make a ExternalDocumentLayoutManager object for the fox:external-document extension.
      Specified by:
        `makeExternalDocumentLayoutManager` in interface `LayoutManagerMaker`
      Parameters:
        `ath` - the AreaTreeHandler object the external-document interacts with
        `ed` - the fox:external-document object to be processed
      Returns:
        The created ExternalDocumentLayoutManager object

    - #### makeFlowLayoutManager

          public FlowLayoutManager makeFlowLayoutManager(PageSequenceLayoutManager pslm,
                                                         Flow flow)

      Make a FlowLayoutManager object.
      Specified by:
        `makeFlowLayoutManager` in interface `LayoutManagerMaker`
      Parameters:
        `pslm` - the parent PageSequenceLayoutManager object
        `flow` - the fo:flow object this FLM will process
      Returns:
        The created FlowLayoutManager object

    - #### makeContentLayoutManager

          public ContentLayoutManager makeContentLayoutManager(PageSequenceLayoutManager pslm,
                                                               Title title)

      Make a ContentLayoutManager object.
      Specified by:
        `makeContentLayoutManager` in interface `LayoutManagerMaker`
      Parameters:
        `pslm` - the parent PageSequenceLayoutManager object
        `title` - the fo:title object this CLM will process
      Returns:
        The created ContentLayoutManager object

    - #### makeStaticContentLayoutManager

          public StaticContentLayoutManager makeStaticContentLayoutManager(PageSequenceLayoutManager pslm,
                                                                           StaticContent sc,
                                                                           SideRegion reg)

      Make a StaticContentLayoutManager object.
      Specified by:
        `makeStaticContentLayoutManager` in interface `LayoutManagerMaker`
      Parameters:
        `pslm` - the parent PageSequenceLayoutManager object
        `sc` - the fo:static-content object this SCLM will process
        `reg` - the side region indicating where the static content needs to be processed.
      Returns:
        The created StaticContentLayoutManager object

    - #### makeStaticContentLayoutManager

          public StaticContentLayoutManager makeStaticContentLayoutManager(PageSequenceLayoutManager pslm,
                                                                           StaticContent sc,
                                                                           Block block)

      Make a StaticContentLayoutManager object for a footnote-separator.
      Specified by:
        `makeStaticContentLayoutManager` in interface `LayoutManagerMaker`
      Parameters:
        `pslm` - the parent PageSequenceLayoutManager object
        `sc` - the fo:static-content object this SCLM will process
        `block` - the Block area this SCLM must add its areas to
      Returns:
        The created StaticContentLayoutManager object

Copyright © 2025 Apache Software Foundation. All rights reserved.