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

org.apache.fop.layoutmgr.table

## Class TableLayoutManager

- java.lang.Object
- - org.apache.fop.layoutmgr.AbstractBaseLayoutManager
  - - org.apache.fop.layoutmgr.AbstractLayoutManager
    - - org.apache.fop.layoutmgr.BlockStackingLayoutManager
      - - org.apache.fop.layoutmgr.SpacedBorderedPaddedBlockLayoutManager
        - - org.apache.fop.layoutmgr.table.TableLayoutManager

- All Implemented Interfaces:
    PercentBaseContext, Constants, BlockLevelLayoutManager, BreakOpportunity, ConditionalElementListener, LayoutManager

      public class TableLayoutManager
      extends SpacedBorderedPaddedBlockLayoutManager
      implements BreakOpportunity

  LayoutManager for a table FO. A table consists of columns, table header, table footer and multiple table bodies. The header, footer and body add the areas created from the table cells. The table then creates areas for the columns, bodies and rows the render background.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.fop.layoutmgr.BlockStackingLayoutManager

      `BlockStackingLayoutManager.MappingPosition`

  - ### Field Summary

    - ### Fields inherited from class org.apache.fop.layoutmgr.SpacedBorderedPaddedBlockLayoutManager

      `discardBorderAfter, discardBorderBefore, discardPaddingAfter, discardPaddingBefore, effSpaceAfter, effSpaceBefore`

    - ### Fields inherited from class org.apache.fop.layoutmgr.BlockStackingLayoutManager

      `adjustedSpaceAfter, adjustedSpaceBefore, bpUnit, breakBeforeServed, endIndent, firstVisibleMarkServed, foSpaceAfter, foSpaceBefore, parentArea, referenceIPD, startIndent, storedList`

    - ### Fields inherited from class org.apache.fop.layoutmgr.AbstractLayoutManager

      `childLMiter, childLMs, curChildLM, fobjIter, parentLayoutManager`

    - ### Fields inherited from class org.apache.fop.layoutmgr.AbstractBaseLayoutManager

      `fobj, generatesBlockArea, generatesReferenceArea`

    - ### Fields inherited from interface org.apache.fop.fo.Constants

      `COMPOUND_COUNT, COMPOUND_MASK, COMPOUND_SHIFT, CP_BLOCK_PROGRESSION_DIRECTION, CP_CONDITIONALITY, CP_INLINE_PROGRESSION_DIRECTION, CP_LENGTH, CP_MAXIMUM, CP_MINIMUM, CP_OPTIMUM, CP_PRECEDENCE, CP_WITHIN_COLUMN, CP_WITHIN_LINE, CP_WITHIN_PAGE, EN_100, EN_200, EN_300, EN_400, EN_500, EN_600, EN_700, EN_800, EN_900, EN_ABSOLUTE, EN_ABSOLUTE_COLORMETRIC, EN_AFTER, EN_AFTER_EDGE, EN_ALL, EN_ALPHABETIC, EN_ALTERNATE, EN_ALWAYS, EN_ANY, EN_AUTO, EN_AUTO_EVEN, EN_AUTO_ODD, EN_AVOID, EN_BACKSLANT, EN_BASELINE, EN_BEFORE, EN_BEFORE_EDGE, EN_BIDI_OVERRIDE, EN_BLANK, EN_BLINK, EN_BLOCK, EN_BOLDER, EN_BOTH, EN_BOTTOM, EN_BOUNDED_IN_ONE_DIMENSION, EN_BT, EN_CAPITALIZE, EN_CAPTION, EN_CENTER, EN_CENTRAL, EN_CHARACTER_BY_CHARACTER, EN_COLLAPSE, EN_COLLAPSE_WITH_PRECEDENCE, EN_COLUMN, EN_CONDENSED, EN_CONSIDER_SHIFTS, EN_DASHED, EN_DISCARD, EN_DISREGARD_SHIFTS, EN_DOCUMENT, EN_DOTS, EN_DOTTED, EN_DOUBLE, EN_EMBED, EN_END, EN_END_ON_EVEN, EN_END_ON_ODD, EN_ERROR_IF_OVERFLOW, EN_EVEN, EN_EVEN_PAGE, EN_EXPANDED, EN_EXTRA_CONDENSED, EN_EXTRA_EXPANDED, EN_FALSE, EN_FIC, EN_FIRST, EN_FIRST_INCLUDING_CARRYOVER, EN_FIRST_STARTING, EN_FIXED, EN_FONT_HEIGHT, EN_FORCE, EN_FSWP, EN_GROOVE, EN_HANGING, EN_HIDDEN, EN_HIDE, EN_ICON, EN_IDEOGRAPHIC, EN_IGNORE, EN_IGNORE_IF_AFTER_LINEFEED, EN_IGNORE_IF_BEFORE_LINEFEED, EN_IGNORE_IF_SURROUNDING_LINEFEED, EN_INDEFINITE, EN_INDENT, EN_INHERIT, EN_INSET, EN_INSIDE, EN_INTEGER_PIXELS, EN_ITALIC, EN_JUSTIFY, EN_LARGER, EN_LAST, EN_LAST_ENDING, EN_LAST_STARTING, EN_LEAVE_SEPARATE, EN_LEFT, EN_LEWP, EN_LIGHTER, EN_LINE, EN_LINE_HEIGHT, EN_LINE_THROUGH, EN_LINK, EN_LOWERCASE, EN_LR, EN_LR_TB, EN_LSWP, EN_LTR, EN_MATHEMATICAL, EN_MAX_HEIGHT, EN_MENU, EN_MERGE, EN_MESSAGE_BOX, EN_MIDDLE, EN_NARROWER, EN_NEW, EN_NO_BLINK, EN_NO_CHANGE, EN_NO_FORCE, EN_NO_LIMIT, EN_NO_LINE_THROUGH, EN_NO_LINK, EN_NO_OVERLINE, EN_NO_UNDERLINE, EN_NO_WRAP, EN_NON_UNIFORM, EN_NONE, EN_NOREPEAT, EN_NORMAL, EN_NOT_BLANK, EN_OBLIQUE, EN_ODD, EN_ODD_PAGE, EN_ONLY, EN_OUTSET, EN_OUTSIDE, EN_OVERLINE, EN_PAGE, EN_PAGE_SEQUENCE, EN_PAGINATE, EN_PERCEPTUAL, EN_PRE, EN_PRESERVE, EN_REFERENCE_AREA, EN_RELATIVE, EN_RELATIVE_COLOMETRIC, EN_REPEAT, EN_REPEATX, EN_REPEATY, EN_REPLACE, EN_RESAMPLE_ANY_METHOD, EN_RESET_SIZE, EN_REST, EN_RETAIN, EN_RIDGE, EN_RIGHT, EN_RL, EN_RL_TB, EN_RTL, EN_RULE, EN_SATURATION, EN_SCALE_DOWN_TO_FIT, EN_SCALE_TO_FIT, EN_SCALE_UP_TO_FIT, EN_SCROLL, EN_SELECT_FIRST_FITTING, EN_SEMI_CONDENSED, EN_SEMI_EXPANDED, EN_SEPARATE, EN_SHOW, EN_SMALL_CAPS, EN_SMALL_CAPTION, EN_SMALLER, EN_SOLID, EN_SPACE, EN_START, EN_STATIC, EN_STATUS_BAR, EN_SUB, EN_SUPER, EN_SUPPRESS, EN_TABLE, EN_TABLE_FRAGMENT, EN_TB, EN_TB_LR, EN_TB_RL, EN_TEXT_AFTER_EDGE, EN_TEXT_BEFORE_EDGE, EN_TEXT_BOTTOM, EN_TEXT_TOP, EN_TOP, EN_TRADITIONAL, EN_TREAT_AS_SPACE, EN_TREAT_AS_ZERO_WIDTH_SPACE, EN_TRUE, EN_ULTRA_CONDENSED, EN_ULTRA_EXPANDED, EN_UNBOUNDED, EN_UNDERLINE, EN_UNIFORM, EN_UPPERCASE, EN_USE_FONT_METRICS, EN_USE_SCRIPT, EN_USECONTENT, EN_VISIBLE, EN_WIDER, EN_WRAP, ENUM_COUNT, FO_BASIC_LINK, FO_BIDI_OVERRIDE, FO_BLOCK, FO_BLOCK_CONTAINER, FO_BOOKMARK, FO_BOOKMARK_TITLE, FO_BOOKMARK_TREE, FO_CHANGE_BAR_BEGIN, FO_CHANGE_BAR_END, FO_CHARACTER, FO_COLOR_PROFILE, FO_CONDITIONAL_PAGE_MASTER_REFERENCE, FO_DECLARATIONS, FO_EXTERNAL_GRAPHIC, FO_FLOAT, FO_FLOW, FO_FLOW_ASSIGNMENT, FO_FLOW_MAP, FO_FLOW_NAME_SPECIFIER, FO_FLOW_SOURCE_LIST, FO_FLOW_TARGET_LIST, FO_FOLIO_PREFIX, FO_FOLIO_SUFFIX, FO_FOOTNOTE, FO_FOOTNOTE_BODY, FO_INDEX_KEY_REFERENCE, FO_INDEX_PAGE_CITATION_LIST, FO_INDEX_PAGE_CITATION_LIST_SEPARATOR, FO_INDEX_PAGE_CITATION_RANGE_SEPARATOR, FO_INDEX_PAGE_NUMBER_PREFIX, FO_INDEX_PAGE_NUMBER_SUFFIX, FO_INDEX_RANGE_BEGIN, FO_INDEX_RANGE_END, FO_INITIAL_PROPERTY_SET, FO_INLINE, FO_INLINE_CONTAINER, FO_INSTREAM_FOREIGN_OBJECT, FO_LAYOUT_MASTER_SET, FO_LEADER, FO_LIST_BLOCK, FO_LIST_ITEM, FO_LIST_ITEM_BODY, FO_LIST_ITEM_LABEL, FO_MARKER, FO_MULTI_CASE, FO_MULTI_PROPERTIES, FO_MULTI_PROPERTY_SET, FO_MULTI_SWITCH, FO_MULTI_TOGGLE, FO_PAGE_NUMBER, FO_PAGE_NUMBER_CITATION, FO_PAGE_NUMBER_CITATION_LAST, FO_PAGE_SEQUENCE, FO_PAGE_SEQUENCE_MASTER, FO_PAGE_SEQUENCE_WRAPPER, FO_REGION_AFTER, FO_REGION_BEFORE, FO_REGION_BODY, FO_REGION_END, FO_REGION_NAME_SPECIFIER, FO_REGION_START, FO_REPEATABLE_PAGE_MASTER_ALTERNATIVES, FO_REPEATABLE_PAGE_MASTER_REFERENCE, FO_RETRIEVE_MARKER, FO_RETRIEVE_TABLE_MARKER, FO_ROOT, FO_SCALING_VALUE_CITATION, FO_SIMPLE_PAGE_MASTER, FO_SINGLE_PAGE_MASTER_REFERENCE, FO_STATIC_CONTENT, FO_TABLE, FO_TABLE_AND_CAPTION, FO_TABLE_BODY, FO_TABLE_CAPTION, FO_TABLE_CELL, FO_TABLE_COLUMN, FO_TABLE_FOOTER, FO_TABLE_HEADER, FO_TABLE_ROW, FO_TITLE, FO_UNKNOWN_NODE, FO_WRAPPER, FRM_OBJ_COUNT, NOT_SET, PR_ABSOLUTE_POSITION, PR_ACTIVE_STATE, PR_ALIGNMENT_ADJUST, PR_ALIGNMENT_BASELINE, PR_AUTO_RESTORE, PR_AZIMUTH, PR_BACKGROUND, PR_BACKGROUND_ATTACHMENT, PR_BACKGROUND_COLOR, PR_BACKGROUND_IMAGE, PR_BACKGROUND_POSITION, PR_BACKGROUND_POSITION_HORIZONTAL, PR_BACKGROUND_POSITION_VERTICAL, PR_BACKGROUND_REPEAT, PR_BASELINE_SHIFT, PR_BLANK_OR_NOT_BLANK, PR_BLOCK_PROGRESSION_DIMENSION, PR_BORDER, PR_BORDER_AFTER_COLOR, PR_BORDER_AFTER_PRECEDENCE, PR_BORDER_AFTER_STYLE, PR_BORDER_AFTER_WIDTH, PR_BORDER_BEFORE_COLOR, PR_BORDER_BEFORE_PRECEDENCE, PR_BORDER_BEFORE_STYLE, PR_BORDER_BEFORE_WIDTH, PR_BORDER_BOTTOM, PR_BORDER_BOTTOM_COLOR, PR_BORDER_BOTTOM_STYLE, PR_BORDER_BOTTOM_WIDTH, PR_BORDER_COLLAPSE, PR_BORDER_COLOR, PR_BORDER_END_COLOR, PR_BORDER_END_PRECEDENCE, PR_BORDER_END_STYLE, PR_BORDER_END_WIDTH, PR_BORDER_LEFT, PR_BORDER_LEFT_COLOR, PR_BORDER_LEFT_STYLE, PR_BORDER_LEFT_WIDTH, PR_BORDER_RIGHT, PR_BORDER_RIGHT_COLOR, PR_BORDER_RIGHT_STYLE, PR_BORDER_RIGHT_WIDTH, PR_BORDER_SEPARATION, PR_BORDER_SPACING, PR_BORDER_START_COLOR, PR_BORDER_START_PRECEDENCE, PR_BORDER_START_STYLE, PR_BORDER_START_WIDTH, PR_BORDER_STYLE, PR_BORDER_TOP, PR_BORDER_TOP_COLOR, PR_BORDER_TOP_STYLE, PR_BORDER_TOP_WIDTH, PR_BORDER_WIDTH, PR_BOTTOM, PR_BREAK_AFTER, PR_BREAK_BEFORE, PR_CAPTION_SIDE, PR_CASE_NAME, PR_CASE_TITLE, PR_CHANGE_BAR_CLASS, PR_CHANGE_BAR_COLOR, PR_CHANGE_BAR_OFFSET, PR_CHANGE_BAR_PLACEMENT, PR_CHANGE_BAR_STYLE, PR_CHANGE_BAR_WIDTH, PR_CHARACTER, PR_CLEAR, PR_CLIP, PR_COLOR, PR_COLOR_PROFILE_NAME, PR_COLUMN_COUNT, PR_COLUMN_GAP, PR_COLUMN_NUMBER, PR_COLUMN_WIDTH, PR_CONTENT_HEIGHT, PR_CONTENT_TYPE, PR_CONTENT_WIDTH, PR_COUNTRY, PR_CUE, PR_CUE_AFTER, PR_CUE_BEFORE, PR_DESTINATION_PLACEMENT_OFFSET, PR_DIRECTION, PR_DISPLAY_ALIGN, PR_DOMINANT_BASELINE, PR_ELEVATION, PR_EMPTY_CELLS, PR_END_INDENT, PR_ENDS_ROW, PR_EXTENT, PR_EXTERNAL_DESTINATION, PR_FLOAT, PR_FLOW_MAP_NAME, PR_FLOW_MAP_REFERENCE, PR_FLOW_NAME, PR_FLOW_NAME_REFERENCE, PR_FONT, PR_FONT_FAMILY, PR_FONT_SELECTION_STRATEGY, PR_FONT_SIZE, PR_FONT_SIZE_ADJUST, PR_FONT_STRETCH, PR_FONT_STYLE, PR_FONT_VARIANT, PR_FONT_WEIGHT, PR_FORCE_PAGE_COUNT, PR_FORMAT, PR_GLYPH_ORIENTATION_HORIZONTAL, PR_GLYPH_ORIENTATION_VERTICAL, PR_GROUPING_SEPARATOR, PR_GROUPING_SIZE, PR_HEIGHT, PR_HYPHENATE, PR_HYPHENATION_CHARACTER, PR_HYPHENATION_KEEP, PR_HYPHENATION_LADDER_COUNT, PR_HYPHENATION_PUSH_CHARACTER_COUNT, PR_HYPHENATION_REMAIN_CHARACTER_COUNT, PR_ID, PR_INDEX_CLASS, PR_INDEX_KEY, PR_INDICATE_DESTINATION, PR_INITIAL_PAGE_NUMBER, PR_INLINE_PROGRESSION_DIMENSION, PR_INTERNAL_DESTINATION, PR_INTRINSIC_SCALE_VALUE, PR_INTRUSION_DISPLACE, PR_KEEP_TOGETHER, PR_KEEP_WITH_NEXT, PR_KEEP_WITH_PREVIOUS, PR_LANGUAGE, PR_LAST_LINE_END_INDENT, PR_LEADER_ALIGNMENT, PR_LEADER_LENGTH, PR_LEADER_PATTERN, PR_LEADER_PATTERN_WIDTH, PR_LEFT, PR_LETTER_SPACING, PR_LETTER_VALUE, PR_LINE_HEIGHT, PR_LINE_HEIGHT_SHIFT_ADJUSTMENT, PR_LINE_STACKING_STRATEGY, PR_LINEFEED_TREATMENT, PR_MARGIN, PR_MARGIN_BOTTOM, PR_MARGIN_LEFT, PR_MARGIN_RIGHT, PR_MARGIN_TOP, PR_MARKER_CLASS_NAME, PR_MASTER_NAME, PR_MASTER_REFERENCE, PR_MAX_HEIGHT, PR_MAX_WIDTH, PR_MAXIMUM_REPEATS, PR_MEDIA_USAGE, PR_MERGE_PAGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_RANGES_ACROSS_INDEX_KEY_REFERENCES, PR_MERGE_SEQUENTIAL_PAGE_NUMBERS, PR_MIN_HEIGHT, PR_MIN_WIDTH, PR_NUMBER_COLUMNS_REPEATED, PR_NUMBER_COLUMNS_SPANNED, PR_NUMBER_ROWS_SPANNED, PR_ODD_OR_EVEN, PR_ORPHANS, PR_OVERFLOW, PR_PADDING, PR_PADDING_AFTER, PR_PADDING_BEFORE, PR_PADDING_BOTTOM, PR_PADDING_END, PR_PADDING_LEFT, PR_PADDING_RIGHT, PR_PADDING_START, PR_PADDING_TOP, PR_PAGE_BREAK_AFTER, PR_PAGE_BREAK_BEFORE, PR_PAGE_BREAK_INSIDE, PR_PAGE_CITATION_STRATEGY, PR_PAGE_HEIGHT, PR_PAGE_NUMBER_TREATMENT, PR_PAGE_POSITION, PR_PAGE_WIDTH, PR_PAUSE, PR_PAUSE_AFTER, PR_PAUSE_BEFORE, PR_PITCH, PR_PITCH_RANGE, PR_PLAY_DURING, PR_POSITION, PR_PRECEDENCE, PR_PROVISIONAL_DISTANCE_BETWEEN_STARTS, PR_PROVISIONAL_LABEL_SEPARATION, PR_REF_ID, PR_REF_INDEX_KEY, PR_REFERENCE_ORIENTATION, PR_REGION_NAME, PR_REGION_NAME_REFERENCE, PR_RELATIVE_ALIGN, PR_RELATIVE_POSITION, PR_RENDERING_INTENT, PR_RETRIEVE_BOUNDARY, PR_RETRIEVE_BOUNDARY_WITHIN_TABLE, PR_RETRIEVE_CLASS_NAME, PR_RETRIEVE_POSITION, PR_RETRIEVE_POSITION_WITHIN_TABLE, PR_RICHNESS, PR_RIGHT, PR_ROLE, PR_RULE_STYLE, PR_RULE_THICKNESS, PR_SCALING, PR_SCALING_METHOD, PR_SCORE_SPACES, PR_SCRIPT, PR_SHOW_DESTINATION, PR_SIZE, PR_SOURCE_DOCUMENT, PR_SPACE_AFTER, PR_SPACE_BEFORE, PR_SPACE_END, PR_SPACE_START, PR_SPAN, PR_SPEAK, PR_SPEAK_HEADER, PR_SPEAK_NUMERAL, PR_SPEAK_PUNCTUATION, PR_SPEECH_RATE, PR_SRC, PR_START_INDENT, PR_STARTING_STATE, PR_STARTS_ROW, PR_STRESS, PR_SUPPRESS_AT_LINE_BREAK, PR_SWITCH_TO, PR_TABLE_LAYOUT, PR_TABLE_OMIT_FOOTER_AT_BREAK, PR_TABLE_OMIT_HEADER_AT_BREAK, PR_TARGET_PRESENTATION_CONTEXT, PR_TARGET_PROCESSING_CONTEXT, PR_TARGET_STYLESHEET, PR_TEXT_ALIGN, PR_TEXT_ALIGN_LAST, PR_TEXT_ALTITUDE, PR_TEXT_DECORATION, PR_TEXT_DEPTH, PR_TEXT_INDENT, PR_TEXT_SHADOW, PR_TEXT_TRANSFORM, PR_TOP, PR_TREAT_AS_WORD_SPACE, PR_UNICODE_BIDI, PR_VERTICAL_ALIGN, PR_VISIBILITY, PR_VOICE_FAMILY, PR_VOLUME, PR_WHITE_SPACE, PR_WHITE_SPACE_COLLAPSE, PR_WHITE_SPACE_TREATMENT, PR_WIDOWS, PR_WIDTH, PR_WORD_SPACING, PR_WRAP_OPTION, PR_WRITING_MODE, PR_X_ABBREVIATION, PR_X_ALT_TEXT, PR_X_AUTO_TOGGLE, PR_X_BACKGROUND_IMAGE_HEIGHT, PR_X_BACKGROUND_IMAGE_WIDTH, PR_X_BORDER_AFTER_END_RADIUS, PR_X_BORDER_AFTER_RADIUS_END, PR_X_BORDER_AFTER_RADIUS_START, PR_X_BORDER_AFTER_START_RADIUS, PR_X_BORDER_BEFORE_END_RADIUS, PR_X_BORDER_BEFORE_RADIUS_END, PR_X_BORDER_BEFORE_RADIUS_START, PR_X_BORDER_BEFORE_START_RADIUS, PR_X_BORDER_END_RADIUS_AFTER, PR_X_BORDER_END_RADIUS_BEFORE, PR_X_BORDER_RADIUS, PR_X_BORDER_START_RADIUS_AFTER, PR_X_BORDER_START_RADIUS_BEFORE, PR_X_DISABLE_COLUMN_BALANCING, PR_X_HEADER_COLUMN, PR_X_LAYER, PR_X_NUMBER_CONVERSION_FEATURES, PR_X_ORPHAN_CONTENT_LIMIT, PR_X_WIDOW_CONTENT_LIMIT, PR_X_XML_BASE, PR_XML_LANG, PR_Z_INDEX, PROPERTY_COUNT, PROPERTY_MASK`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TableLayoutManager(Table node)` Create a new table layout manager.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addAreas(PositionIterator parentIter, LayoutContext layoutContext)` The table area is a reference area that contains areas for columns, bodies, rows and the contents are in cells.
    `void` | `addChildArea(Area childArea)` Add the child area to this layout manager.
    `protected void` | `clearTableFragmentMarkers()` Clears the list of markers in the current table fragment.
    `void` | `discardSpace(KnuthGlue spaceGlue)` Discard space.
    `void` | `flagAsHavingRetrieveTableMarker()`
    `Position` | `getAuxiliaryPosition()`
    `int` | `getBaseLength(int lengthBase, FObj fobj)` Returns the base length for the given length base.
    `ColumnSetup` | `getColumns()`
    `protected CommonBorderPaddingBackground` | `getCommonBorderPaddingBackground()` Returns the `CommonBorderPaddingBackground` instance from the FO handled by this layout manager.
    `int` | `getHalfBorderSeparationBPD()`
    `int` | `getHalfBorderSeparationIPD()`
    `KeepProperty` | `getKeepTogetherProperty()` Returns the keep-together property specified on the FObj.
    `KeepProperty` | `getKeepWithNextProperty()` Returns the keep-with-next property specified on the FObj.
    `KeepProperty` | `getKeepWithPreviousProperty()` Returns the keep-with-previous property specified on the FObj.
    `List<ListElement>` | `getNextKnuthElements(LayoutContext context, int alignment)` Get a sequence of KnuthElements representing the content of the node assigned to the LM.
    `Area` | `getParentArea(Area childArea)` Return an Area which can contain the passed childArea.
    `Table` | `getTable()`
    `void` | `initialize()` initialize the layout manager.
    `int` | `negotiateBPDAdjustment(int adj, KnuthElement lastElement)` Negotiate BPD adjustment.
    `protected void` | `possiblyRegisterMarkersForTables(Map<String,Marker> markers, boolean isStarting, boolean isFirst, boolean isLast)`
    `void` | `registerMarkers(Map<String,Marker> marks, boolean starting, boolean isfirst, boolean islast)` Register the markers for this table.
    `protected void` | `repeatAddAreasForSavedTableHeaderTableCellLayoutManagers()` Calls addAreas() for each of the saved TableCellLayoutManagers.
    `void` | `reset()` Re-initializes this layout manager in order to re-generate its Knuth elements according to a new IPD value.
    `RetrieveTableMarker` | `resolveRetrieveTableMarker(RetrieveTableMarker rtm)` Resolves a RetrieveTableMarker by finding a qualifying Marker to which it is bound to.
    `protected void` | `saveTableHeaderTableCellLayoutManagers(TableCellLayoutManager tclm)` Saves a TableCellLayoutManager for later use.
    `void` | `setRepeateHeader(boolean repeateHeader)`

    - ### Methods inherited from class org.apache.fop.layoutmgr.SpacedBorderedPaddedBlockLayoutManager

      `getBaselineOffset, notifyBorder, notifyPadding, notifySpace`

    - ### Methods inherited from class org.apache.fop.layoutmgr.BlockStackingLayoutManager

      `addBlockSpacing, addChildToArea, addFirstVisibleMarks, addInBetweenBreak, addKnuthElementsForBorderPaddingAfter, addKnuthElementsForBorderPaddingBefore, addKnuthElementsForBreakAfter, addKnuthElementsForBreakBefore, addKnuthElementsForSpaceAfter, addKnuthElementsForSpaceBefore, addLastVisibleMarks, addPendingMarks, breakBeforeServed, flush, getBreakBefore, getChangedKnuthElements, getContentAreaBPD, getContentAreaIPD, getCurrentArea, getIPIndents, getKeepTogether, getKeepWithNext, getKeepWithPrevious, getNextChildElements, getNextKnuthElements, getParentKeepTogether, getSpaceAfterProperty, getSpaceBeforeProperty, handleOverflow, isRestartAtLM, makeChildLayoutContext, mustKeepTogether, mustKeepWithNext, mustKeepWithPrevious, neededUnits, setContentAreaIPD, setCurrentArea, updateContentAreaIPDwithOverconstrainedAdjust, updateContentAreaIPDwithOverconstrainedAdjust, wrapPositionElement, wrapPositionElements, wrapPositionElements`

    - ### Methods inherited from class org.apache.fop.layoutmgr.AbstractLayoutManager

      `addChildLM, addChildLMs, addId, checkEndOfLayout, createChildLMs, createNextChildLMs, getChildLM, getChildLMs, getCurrentPage, getCurrentPV, getParent, getPSLM, handlingFloat, hasLineAreaDescendant, hasNextChildLM, isFinished, isFirst, isLast, newNoLineAreaDescendantException, notifyEndOfLayout, notifyPos, preserveChildrenAtEndOfLayout, recreateChildrenLMs, registerMarkers, setCurrentChildLM, setFinished, setParent, toString, transferExtensionAttachments, transferExtensions, transferForeignAttributes`

    - ### Methods inherited from class org.apache.fop.layoutmgr.AbstractBaseLayoutManager

      `getAncestorBlockAreaBPD, getAncestorBlockAreaIPD, getChangeBarList, getFObj, getGeneratesBlockArea, getGeneratesLineArea, getGeneratesReferenceArea, getParentAreaBPD, getParentAreaIPD, getReferenceAreaBPD, getReferenceAreaIPD, isFromFootnote, isRestartable, setFromFootnote, setGeneratesBlockArea, setGeneratesReferenceArea`

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

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

    - ### Methods inherited from interface org.apache.fop.layoutmgr.BreakOpportunity

      `getBreakBefore`

    - ### Methods inherited from interface org.apache.fop.layoutmgr.LayoutManager

      `addChildLM, addChildLMs, createNextChildLMs, getChildLMs, getFObj, getGeneratesBlockArea, getGeneratesLineArea, getGeneratesReferenceArea, getParent, getPSLM, hasLineAreaDescendant, isFinished, isFromFootnote, isRestartable, notifyPos, setFinished, setFromFootnote, setParent`

- - ### Constructor Detail

    - #### TableLayoutManager

          public TableLayoutManager(Table node)

      Create a new table layout manager.
      Parameters:
        `node` - the table FO

  - ### Method Detail

    - #### getCommonBorderPaddingBackground

          protected CommonBorderPaddingBackground getCommonBorderPaddingBackground()

      Description copied from class: `SpacedBorderedPaddedBlockLayoutManager`
      Returns the `CommonBorderPaddingBackground` instance from the FO handled by this layout manager.
      Specified by:
        `getCommonBorderPaddingBackground` in class `SpacedBorderedPaddedBlockLayoutManager`

    - #### getTable

          public Table getTable()

      Returns:
        the table FO

    - #### getColumns

          public ColumnSetup getColumns()

      Returns:
        the column setup for this table.

    - #### initialize

          public void initialize()

      initialize the layout manager. Allows each layout manager to calculate often used values.
      Specified by:
        `initialize` in interface `LayoutManager`
      Overrides:
        `initialize` in class `AbstractLayoutManager`

    - #### getHalfBorderSeparationBPD

          public int getHalfBorderSeparationBPD()

      Returns:
        half the value of border-separation.block-progression-dimension, or 0 if border-collapse="collapse".

    - #### getHalfBorderSeparationIPD

          public int getHalfBorderSeparationIPD()

      Returns:
        half the value of border-separation.inline-progression-dimension, or 0 if border-collapse="collapse".

    - #### getNextKnuthElements

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

      Get a sequence of KnuthElements representing the content of the node assigned to the LM.
      Specified by:
        `getNextKnuthElements` in interface `LayoutManager`
      Overrides:
        `getNextKnuthElements` in class `BlockStackingLayoutManager`
      Parameters:
        `context` - the LayoutContext used to store layout information
        `alignment` - the desired text alignment
      Returns:
        the list of KnuthElements

    - #### getAuxiliaryPosition

          public Position getAuxiliaryPosition()

      Overrides:
        `getAuxiliaryPosition` in class `BlockStackingLayoutManager`
      Returns:
        a cached auxiliary Position instance used for things like spaces.

    - #### addAreas

          public void addAreas(PositionIterator parentIter,
                               LayoutContext layoutContext)

      The table area is a reference area that contains areas for columns, bodies, rows and the contents are in cells.
      Specified by:
        `addAreas` in interface `LayoutManager`
      Overrides:
        `addAreas` in class `AbstractLayoutManager`
      Parameters:
        `parentIter` - the position iterator
        `layoutContext` - the layout context for adding areas

    - #### getParentArea

          public Area getParentArea(Area childArea)

      Return an Area which can contain the passed childArea. The childArea may not yet have any content, but it has essential traits set. In general, if the LayoutManager already has an Area it simply returns it. Otherwise, it makes a new Area of the appropriate class. It gets a parent area for its area by calling its parent LM. Finally, based on the dimensions of the parent area, it initializes its own area. This includes setting the content IPD and the maximum BPD.
      Specified by:
        `getParentArea` in interface `LayoutManager`
      Overrides:
        `getParentArea` in class `AbstractLayoutManager`
      Parameters:
        `childArea` - the child area
      Returns:
        the parent area of the child

    - #### addChildArea

          public void addChildArea(Area childArea)

      Add the child area to this layout manager.
      Specified by:
        `addChildArea` in interface `LayoutManager`
      Overrides:
        `addChildArea` in class `BlockStackingLayoutManager`
      Parameters:
        `childArea` - the child area to add

    - #### negotiateBPDAdjustment

          public int negotiateBPDAdjustment(int adj,
                                            KnuthElement lastElement)

      Negotiate BPD adjustment.
      Specified by:
        `negotiateBPDAdjustment` in interface `BlockLevelLayoutManager`
      Overrides:
        `negotiateBPDAdjustment` in class `BlockStackingLayoutManager`
      Parameters:
        `adj` - amount to adjust
        `lastElement` - the last knuth element
      Returns:
        the resulting adjusted BPD

    - #### discardSpace

          public void discardSpace(KnuthGlue spaceGlue)

      Discard space.
      Specified by:
        `discardSpace` in interface `BlockLevelLayoutManager`
      Overrides:
        `discardSpace` in class `BlockStackingLayoutManager`
      Parameters:
        `spaceGlue` - the space

    - #### getKeepTogetherProperty

          public KeepProperty getKeepTogetherProperty()

      Returns the keep-together property specified on the FObj. Default implementation throws a `IllegalStateException`. Must be implemented by the subclass, if applicable.
      Specified by:
        `getKeepTogetherProperty` in interface `BlockLevelLayoutManager`
      Overrides:
        `getKeepTogetherProperty` in class `BlockStackingLayoutManager`
      Returns:
        the keep-together property

    - #### getKeepWithPreviousProperty

          public KeepProperty getKeepWithPreviousProperty()

      Returns the keep-with-previous property specified on the FObj. Default implementation throws a `IllegalStateException`. Must be implemented by the subclass, if applicable.
      Specified by:
        `getKeepWithPreviousProperty` in interface `BlockLevelLayoutManager`
      Overrides:
        `getKeepWithPreviousProperty` in class `BlockStackingLayoutManager`
      Returns:
        the keep-together property

    - #### getKeepWithNextProperty

          public KeepProperty getKeepWithNextProperty()

      Returns the keep-with-next property specified on the FObj. Default implementation throws a `IllegalStateException`. Must be implemented by the subclass, if applicable.
      Specified by:
        `getKeepWithNextProperty` in interface `BlockLevelLayoutManager`
      Overrides:
        `getKeepWithNextProperty` in class `BlockStackingLayoutManager`
      Returns:
        the keep-together property

    - #### getBaseLength

          public int getBaseLength(int lengthBase,
                                   FObj fobj)

      Returns the base length for the given length base. Length base should be one of the constants defined in `LengthBase`.
      Specified by:
        `getBaseLength` in interface `PercentBaseContext`
      Overrides:
        `getBaseLength` in class `AbstractBaseLayoutManager`
      Parameters:
        `lengthBase` - Indicates which type of the base length value is to be returned
        `fobj` - The FO object against which the percentage should be evaluated
      Returns:
        The base length value of the given kind

    - #### reset

          public void reset()

      Re-initializes this layout manager in order to re-generate its Knuth elements according to a new IPD value.
      Specified by:
        `reset` in interface `LayoutManager`
      Overrides:
        `reset` in class `BlockStackingLayoutManager`

    - #### saveTableHeaderTableCellLayoutManagers

          protected void saveTableHeaderTableCellLayoutManagers(TableCellLayoutManager tclm)

      Saves a TableCellLayoutManager for later use.
      Parameters:
        `tclm` - a TableCellLayoutManager that has a RetrieveTableMarker

    - #### repeatAddAreasForSavedTableHeaderTableCellLayoutManagers

          protected void repeatAddAreasForSavedTableHeaderTableCellLayoutManagers()

      Calls addAreas() for each of the saved TableCellLayoutManagers.

    - #### resolveRetrieveTableMarker

          public RetrieveTableMarker resolveRetrieveTableMarker(RetrieveTableMarker rtm)

      Resolves a RetrieveTableMarker by finding a qualifying Marker to which it is bound to.
      Parameters:
        `rtm` - the RetrieveTableMarker to be resolved
      Returns:
        a bound RetrieveTableMarker instance or null if no qualifying Marker found

    - #### registerMarkers

          public void registerMarkers(Map<String,Marker> marks,
                                      boolean starting,
                                      boolean isfirst,
                                      boolean islast)

      Register the markers for this table.
      Parameters:
        `marks` - the map of markers to add
        `starting` - if the area being added is starting or ending
        `isfirst` - if the area being added has is-first trait
        `islast` - if the area being added has is-last trait

    - #### clearTableFragmentMarkers

          protected void clearTableFragmentMarkers()

      Clears the list of markers in the current table fragment. Should be called just before starting a new header (that belongs to the next table fragment).

    - #### flagAsHavingRetrieveTableMarker

          public void flagAsHavingRetrieveTableMarker()

    - #### possiblyRegisterMarkersForTables

          protected void possiblyRegisterMarkersForTables(Map<String,Marker> markers,
                                                          boolean isStarting,
                                                          boolean isFirst,
                                                          boolean isLast)

      Overrides:
        `possiblyRegisterMarkersForTables` in class `AbstractLayoutManager`

    - #### setRepeateHeader

          public void setRepeateHeader(boolean repeateHeader)

Copyright © 2025 Apache Software Foundation. All rights reserved.