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

org.apache.fop.fo.flow.table

## Class Table

- java.lang.Object
- - org.apache.fop.fo.FONode
  - - org.apache.fop.fo.FObj
    - - org.apache.fop.fo.flow.table.TableFObj
      - - org.apache.fop.fo.flow.table.Table

- All Implemented Interfaces:
    Cloneable, Constants, ColumnNumberManagerHolder, BreakPropertySet, CommonAccessibilityHolder, WritingModeTraitsGetter

      public class Table
      extends TableFObj
      implements ColumnNumberManagerHolder, BreakPropertySet, WritingModeTraitsGetter, CommonAccessibilityHolder

  Class modelling the `fo:table` object.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.fop.fo.flow.table.TableFObj

      `TableFObj.ColumnNumberPropertyMaker`

    - ### Nested classes/interfaces inherited from class org.apache.fop.fo.FObj

      `FObj.FObjIterator`

    - ### Nested classes/interfaces inherited from class org.apache.fop.fo.FONode

      `FONode.FONodeIterator, FONode.GatherContextInfoFunction`

  - ### Field Summary

    - ### Fields inherited from class org.apache.fop.fo.FObj

      `firstChild, lastChild`

    - ### Fields inherited from class org.apache.fop.fo.FONode

      `FO_URI, FOX_URI, locator, log, nodeChangeBarList, parent, siblings, startOfNodeChangeBarList`

    - ### 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
    `Table(FONode parent)` Construct a Table instance with the given `FONode` as parent.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addChildNode(FONode child)` Adds a node as a child of this node.
    `void` | `bind(PropertyList pList)` Bind property values from the property list to the FO node.
    `FONode` | `clone(FONode parent, boolean removeChildren)` Performs a shallow cloning operation, sets the clone's parent, and optionally cleans the list of child nodes
    `protected Stack<DelimitedTextRange>` | `collectDelimitedTextRanges(Stack<DelimitedTextRange> ranges, DelimitedTextRange currentRange)` Collect the sequence of delimited text ranges, where each new range is pushed onto RANGES, where default implementation collects ranges of child nodes.
    `void` | `endOfNode()` Primarily used for making final content model validation checks and/or informing the `FOEventHandler` that the end of this FO has been reached.
    `void` | `finalizeNode()` Finalize this node.
    `LengthRangeProperty` | `getBlockProgressionDimension()`
    `Direction` | `getBlockProgressionDirection()`
    `int` | `getBorderCollapse()`
    `LengthPairProperty` | `getBorderSeparation()`
    `int` | `getBreakAfter()`
    `int` | `getBreakBefore()`
    `TableColumn` | `getColumn(int index)` Returns the column at the given index.
    `ColumnNumberManager` | `getColumnNumberManager()` Returns the encapsulated ColumnNumberManage instance.
    `Direction` | `getColumnProgressionDirection()`
    `List<FONode>` | `getColumns()` Returns the list of table-column elements.
    `CommonAccessibility` | `getCommonAccessibility()` Returns the accessibility properties.
    `CommonBorderPaddingBackground` | `getCommonBorderPaddingBackground()`
    `CommonMarginBlock` | `getCommonMarginBlock()`
    `boolean` | `getExplicitWritingMode()`
    `LengthRangeProperty` | `getInlineProgressionDimension()`
    `Direction` | `getInlineProgressionDirection()`
    `KeepProperty` | `getKeepTogether()`
    `KeepProperty` | `getKeepWithNext()`
    `KeepProperty` | `getKeepWithPrevious()`
    `String` | `getLocalName()` Returns the local name (i.e.
    `int` | `getNameId()` Returns the `Constants` class integer value of this node
    `int` | `getNumberOfColumns()` Returns the number of columns of this table.
    `Length` | `getOrphanContentLimit()`
    `Direction` | `getRowProgressionDirection()`
    `Direction` | `getShiftDirection()`
    `Table` | `getTable()` Convenience method to returns a reference to the base `Table` instance.
    `TableFooter` | `getTableFooter()`
    `TableHeader` | `getTableHeader()`
    `Length` | `getWidowContentLimit()`
    `WritingMode` | `getWritingMode()`
    `boolean` | `isAutoLayout()`
    `protected boolean` | `isBidiBoundary(boolean propagate)`
    `boolean` | `isSeparateBorderModel()`
    `boolean` | `mustKeepTogether()` Convenience method to check if a keep-together constraint is specified.
    `boolean` | `omitFooterAtBreak()`
    `boolean` | `omitHeaderAtBreak()`
    `void` | `startOfNode()` Called after processNode() is called.
    `protected void` | `validateChildNode(Locator loc, String nsURI, String localName)` Checks to make sure, during SAX processing of input document, that the incoming node is valid for this (parent) node (e.g., checking to see that `fo:table` is not an immediate child of `fo:root`) called from `FOTreeBuilder.startElement(String, String, String, Attributes)` before constructing the child `FObj`.

    - ### Methods inherited from class org.apache.fop.fo.flow.table.TableFObj

      `getBorderPrecedence, processNode, setCollapsedBorders`

    - ### Methods inherited from class org.apache.fop.fo.FObj

      `addChildTo, addForeignAttribute, addMarker, clearChildNodes, createPropertyList, findAncestor, findNearestAncestorFObj, gatherContextInfo, generatesReferenceAreas, getBidiLevel, getBidiLevelRecursive, getChildNodes, getChildNodes, getContextInfoAlt, getExtensionAttachments, getForeignAttributes, getId, getLayer, getMarkers, getNamespaceURI, getNormalNamespacePrefix, getPropertyMakerFor, hasChildren, hasExtensionAttachments, hasId, hasLayer, hasMarkers, isBidiRangeBlockItem, isBlockItem, isBlockOrInlineItem, isForceKeepTogether, isInlineItem, isNeutralItem, removeChild, setBidiLevel, setForceKeepTogether, toString`

    - ### Methods inherited from class org.apache.fop.fo.FONode

      `addCharacters, attachSiblings, canHaveMarkers, characters, charIterator, clone, collectDelimitedTextRanges, decorateWithContextInfo, errorText, getBuilderContext, getChangeBarList, getContentHandlerFactory, getContextInfo, getExtensionAttachment, getFOEventHandler, getFOValidationEventProducer, getLocator, getLocatorString, getLogger, getName, getName, getNodePrefix, getNodeString, getParent, getRoot, getStructureTreeElement, getUserAgent, inMarker, invalidChildError, invalidChildError, invalidPropertyValueError, isChangeBarElement, isDelimitedTextRangeBoundary, missingChildElementError, missingChildElementError, missingPropertyError, nodesOutOfOrderError, nodesOutOfOrderError, notSupportedChildError, setLocator, setStructureTreeElement, tooManyNodesError, tooManyNodesError, tooManyNodesError, validateChildNode, warningText`

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

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

- - ### Constructor Detail

    - #### Table

          public Table(FONode parent)

      Construct a Table instance with the given `FONode` as parent.
      Parameters:
        `parent` - `FONode` that is the parent of this object

  - ### Method Detail

    - #### bind

          public void bind(PropertyList pList)
                    throws FOPException

      Bind property values from the property list to the FO node. Must be overridden in all FObj subclasses that have properties applying to it.
      Overrides:
        `bind` in class `TableFObj`
      Parameters:
        `pList` - the PropertyList where the properties can be found.
      Throws:
        `FOPException` - if there is a problem binding the values

    - #### startOfNode

          public void startOfNode()
                           throws FOPException

      Called after processNode() is called. Subclasses can do additional processing.
      Overrides:
        `startOfNode` in class `FObj`
      Throws:
        `FOPException` - FOP Exception

    - #### validateChildNode

          protected void validateChildNode(Locator loc,
                                           String nsURI,
                                           String localName)
                                    throws ValidationException

      Checks to make sure, during SAX processing of input document, that the incoming node is valid for this (parent) node (e.g., checking to see that `fo:table` is not an immediate child of `fo:root`) called from `FOTreeBuilder.startElement(String, String, String, Attributes)` before constructing the child `FObj`.
      XSL Content Model: (marker*,table-column*,table-header?,table-footer?,table-body+)
      Overrides:
        `validateChildNode` in class `FONode`
      Parameters:
        `loc` - location in the FO source file
        `nsURI` - namespace of incoming node
        `localName` - name of the incoming node (without namespace prefix)
      Throws:
        `ValidationException` - if incoming node not valid for parent

    - #### endOfNode

          public void endOfNode()
                         throws FOPException

      Primarily used for making final content model validation checks and/or informing the `FOEventHandler` that the end of this FO has been reached. The default implementation simply calls `FONode.finalizeNode()`, without sending any event to the `FOEventHandler`.

      Note: the recommended way to override this method in subclasses is

      `super.endOfNode(); // invoke finalizeNode()`

      `getFOEventHandler().endXXX(); // send endOfNode() notification`

      Overrides:
        `endOfNode` in class `FObj`
      Throws:
        `FOPException` - FOP Exception

    - #### finalizeNode

          public void finalizeNode()
                            throws FOPException

      Finalize this node. This method can be overridden by subclasses to perform finishing tasks (cleanup, validation checks, ...) without triggering endXXX() events in the `FOEventHandler`. The method is called by the default `FONode.endOfNode()` implementation.
      Overrides:
        `finalizeNode` in class `FONode`
      Throws:
        `FOPException` - in case there was an error

    - #### addChildNode

          protected void addChildNode(FONode child)
                               throws FOPException

      Adds a node as a child of this node. The default implementation of this method just ignores any child node being added.
      Overrides:
        `addChildNode` in class `FObj`
      Parameters:
        `child` - child node to be added to the childNodes of this node
      Throws:
        `FOPException` - if there's a problem during processing

    - #### getCommonAccessibility

          public CommonAccessibility getCommonAccessibility()

      Returns the accessibility properties.
      Specified by:
        `getCommonAccessibility` in interface `CommonAccessibilityHolder`
      Returns:
        the accessibility properties

    - #### getTable

          public Table getTable()

      Convenience method to returns a reference to the base `Table` instance.
      Overrides:
        `getTable` in class `TableFObj`
      Returns:
        the base table instance

    - #### isAutoLayout

          public boolean isAutoLayout()

      Returns:
        true of table-layout="auto"

    - #### getColumns

          public List<FONode> getColumns()

      Returns the list of table-column elements.
      Returns:
        a list of `TableColumn` elements, may contain null elements

    - #### getColumn

          public TableColumn getColumn(int index)

      Returns the column at the given index.
      Parameters:
        `index` - index of the column to be retrieved, 0-based
      Returns:
        the corresponding column (may be an implicitly created column)

    - #### getNumberOfColumns

          public int getNumberOfColumns()

      Returns the number of columns of this table.
      Returns:
        the number of columns, implicit or explicit, in this table

    - #### getTableHeader

          public TableHeader getTableHeader()

      Returns:
        the body for the table-header.

    - #### getTableFooter

          public TableFooter getTableFooter()

      Returns:
        the body for the table-footer.

    - #### omitHeaderAtBreak

          public boolean omitHeaderAtBreak()

      Returns:
        true if the table-header should be omitted at breaks

    - #### omitFooterAtBreak

          public boolean omitFooterAtBreak()

      Returns:
        true if the table-footer should be omitted at breaks

    - #### getInlineProgressionDimension

          public LengthRangeProperty getInlineProgressionDimension()

      Returns:
        the "inline-progression-dimension" FO trait.

    - #### getBlockProgressionDimension

          public LengthRangeProperty getBlockProgressionDimension()

      Returns:
        the "block-progression-dimension" FO trait.

    - #### getCommonMarginBlock

          public CommonMarginBlock getCommonMarginBlock()

      Returns:
        the Common Margin Properties-Block.

    - #### getCommonBorderPaddingBackground

          public CommonBorderPaddingBackground getCommonBorderPaddingBackground()

      Specified by:
        `getCommonBorderPaddingBackground` in class `TableFObj`
      Returns:
        the Common Border, Padding, and Background Properties.

    - #### getBreakAfter

          public int getBreakAfter()

      Specified by:
        `getBreakAfter` in interface `BreakPropertySet`
      Returns:
        the "break-after" FO trait.

    - #### getBreakBefore

          public int getBreakBefore()

      Specified by:
        `getBreakBefore` in interface `BreakPropertySet`
      Returns:
        the "break-before" FO trait.

    - #### getKeepWithNext

          public KeepProperty getKeepWithNext()

      Returns:
        the "keep-with-next" FO trait.

    - #### getKeepWithPrevious

          public KeepProperty getKeepWithPrevious()

      Returns:
        the "keep-with-previous" FO trait.

    - #### getKeepTogether

          public KeepProperty getKeepTogether()

      Returns:
        the "keep-together" FO trait.

    - #### mustKeepTogether

          public boolean mustKeepTogether()

      Convenience method to check if a keep-together constraint is specified.
      Returns:
        true if keep-together is active.

    - #### getBorderCollapse

          public int getBorderCollapse()

      Returns:
        the "border-collapse" FO trait.

    - #### isSeparateBorderModel

          public boolean isSeparateBorderModel()

      Returns:
        true if the separate border model is active

    - #### getBorderSeparation

          public LengthPairProperty getBorderSeparation()

      Returns:
        the "border-separation" FO trait.

    - #### getInlineProgressionDirection

          public Direction getInlineProgressionDirection()

      Specified by:
        `getInlineProgressionDirection` in interface `WritingModeTraitsGetter`
      Returns:
        the "inline-progression-direction" trait

    - #### getBlockProgressionDirection

          public Direction getBlockProgressionDirection()

      Specified by:
        `getBlockProgressionDirection` in interface `WritingModeTraitsGetter`
      Returns:
        the "block-progression-direction" trait

    - #### getColumnProgressionDirection

          public Direction getColumnProgressionDirection()

      Specified by:
        `getColumnProgressionDirection` in interface `WritingModeTraitsGetter`
      Returns:
        the "column-progression-direction" trait

    - #### getRowProgressionDirection

          public Direction getRowProgressionDirection()

      Specified by:
        `getRowProgressionDirection` in interface `WritingModeTraitsGetter`
      Returns:
        the "row-progression-direction" trait

    - #### getShiftDirection

          public Direction getShiftDirection()

      Specified by:
        `getShiftDirection` in interface `WritingModeTraitsGetter`
      Returns:
        the "shift-direction" trait

    - #### getWritingMode

          public WritingMode getWritingMode()

      Specified by:
        `getWritingMode` in interface `WritingModeTraitsGetter`
      Returns:
        the "writing-mode" trait

    - #### getExplicitWritingMode

          public boolean getExplicitWritingMode()

      Specified by:
        `getExplicitWritingMode` in interface `WritingModeTraitsGetter`
      Returns:
        the "explicit-writing-mode" trait

    - #### getWidowContentLimit

          public Length getWidowContentLimit()

      Returns:
        the "fox:widow-content-limit" extension FO trait

    - #### getOrphanContentLimit

          public Length getOrphanContentLimit()

      Returns:
        the "fox:orphan-content-limit" extension FO trait

    - #### getLocalName

          public String getLocalName()

      Returns the local name (i.e. without namespace prefix) of the node
      Specified by:
        `getLocalName` in class `FONode`
      Returns:
        the local name of this node

    - #### getNameId

          public int getNameId()

      Returns the `Constants` class integer value of this node
      Overrides:
        `getNameId` in class `FONode`
      Returns:
        `Constants.FO_TABLE`

    - #### clone

          public FONode clone(FONode parent,
                              boolean removeChildren)
                       throws FOPException

      Performs a shallow cloning operation, sets the clone's parent, and optionally cleans the list of child nodes
      Overrides:
        `clone` in class `FObj`
      Parameters:
        `parent` - the intended parent of the clone
        `removeChildren` - if true, clean the list of child nodes
      Returns:
        the cloned FO node
      Throws:
        `FOPException` - if there's a problem while cloning the node

    - #### getColumnNumberManager

          public ColumnNumberManager getColumnNumberManager()

      Returns the encapsulated ColumnNumberManage instance.
      Specified by:
        `getColumnNumberManager` in interface `ColumnNumberManagerHolder`
      Returns:
        a `ColumnNumberManager` instance

    - #### collectDelimitedTextRanges

          protected Stack<DelimitedTextRange> collectDelimitedTextRanges(Stack<DelimitedTextRange> ranges,
                                                                         DelimitedTextRange currentRange)

      Description copied from class: `FONode`
      Collect the sequence of delimited text ranges, where each new range is pushed onto RANGES, where default implementation collects ranges of child nodes.
      Overrides:
        `collectDelimitedTextRanges` in class `FONode`
      Parameters:
        `ranges` - a stack of delimited text ranges
        `currentRange` - the current range or null (if none)
      Returns:
        the (possibly) updated stack of delimited text ranges

    - #### isBidiBoundary

          protected boolean isBidiBoundary(boolean propagate)

      Overrides:
        `isBidiBoundary` in class `FObj`

Copyright © 2025 Apache Software Foundation. All rights reserved.