org.apache.fop.fo.pagination

## Class Root

- java.lang.Object
- - org.apache.fop.fo.FONode
  - - org.apache.fop.fo.FObj
    - - org.apache.fop.fo.pagination.Root

- All Implemented Interfaces:
    Cloneable, Constants, CommonAccessibilityHolder

      public class Root
      extends FObj
      implements CommonAccessibilityHolder

  Class modeling the `fo:root` formatting object. Contains page masters, page-sequences.

- - ### Nested Class Summary

    - ### 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
    `Root(FONode parent)` Base constructor

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addDestination(Destination destination)` Add a Destination object to this FO
    `void` | `addPageSequence(PageSequence pageSequence)` Adds the specified page sequence.
    `void` | `bind(PropertyList pList)` Bind property values from the property list to the FO node.
    `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.
    `BookmarkTree` | `getBookmarkTree()` Public accessor for the BookmarkTree object for this FO
    `FOTreeBuilderContext` | `getBuilderContext()` Returns the context class providing information used during FO tree building.
    `CommonAccessibility` | `getCommonAccessibility()` Returns the accessibility properties.
    `Declarations` | `getDeclarations()` Returns the associated Declarations.
    `List` | `getDestinationList()` Public accessor for the list of Destination objects for this FO
    `int` | `getEndingPageNumberOfPreviousSequence()` Gets the last page number generated by the previous page-sequence
    `FOEventHandler` | `getFOEventHandler()` This method overrides the FONode version.
    `PageSequence` | `getLastPageSequence()` Returns the last page sequence (current while parsing).
    `PageSequence` | `getLastSeq()`
    `LayoutMasterSet` | `getLayoutMasterSet()` Returns the associated LayoutMasterSet.
    `Locale` | `getLocale()`
    `String` | `getLocalName()` Returns the local name (i.e.
    `int` | `getNameId()` Returns the `Constants` class integer value of this node
    `int` | `getPageSequenceCount()` Returns the number of PageSequence instances.
    `Root` | `getRoot()` Returns the root node of this tree
    `PageSequence` | `getSucceedingPageSequence(PageSequence current)` Some properties, such as 'force-page-count', require a page-sequence to know about some properties of the next.
    `int` | `getTotalPagesGenerated()` Returns the total number of pages generated by FOP (May not equal endingPageNumberOfPreviousSequence due to initial-page-number property on fo:page-sequences.)
    `void` | `notifyPageSequenceFinished(int lastPageNumber, int additionalPages)` Notify additional pages generated to increase the totalPagesGenerated counter
    `void` | `setBookmarkTree(BookmarkTree bookmarkTree)` Set the BookmarkTree object for this FO
    `void` | `setBuilderContext(FOTreeBuilderContext context)` Sets the builder context for this FO tree.
    `void` | `setDeclarations(Declarations declarations)` Sets the associated Declarations.
    `void` | `setFOEventHandler(FOEventHandler foEventHandler)` Sets the FOEventHandler object that this Root is attached to
    `void` | `setLastSeq(PageSequence seq)`
    `void` | `setLayoutMasterSet(LayoutMasterSet layoutMasterSet)` Sets the associated LayoutMasterSet.
    `void` | `startOfNode()` Called after processNode() is called.
    `protected void` | `validateChildNode(Locator loc, FONode child)`
    `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.FObj

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

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

      `addCharacters, attachSiblings, canHaveMarkers, characters, charIterator, clone, collectDelimitedTextRanges, collectDelimitedTextRanges, decorateWithContextInfo, errorText, finalizeNode, getChangeBarList, getContentHandlerFactory, getContextInfo, getExtensionAttachment, getFOValidationEventProducer, getLocator, getLocatorString, getLogger, getName, getName, getNodePrefix, getNodeString, getParent, 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

    - #### Root

          public Root(FONode parent)

      Base constructor
      Parameters:
        `parent` - `FONode` that is the parent of this object Note: parent should be null for the fo:root.

  - ### Method Detail

    - #### setLastSeq

          public void setLastSeq(PageSequence seq)

    - #### getLastSeq

          public PageSequence getLastSeq()

    - #### 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 `FObj`
      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

    - #### 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

    - #### 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 1.0 Spec: (layout-master-set,declarations?,page-sequence+)
      FOP: (layout-master-set, declarations?, fox:bookmarks?, page-sequence+)
      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

    - #### validateChildNode

          protected void validateChildNode(Locator loc,
                                           FONode child)
                                    throws ValidationException

      Parameters:
        `loc` - location in the source file
        `child` - the `FONode` to validate against
      Throws:
        `ValidationException` - if the incoming node is not a valid child for the given FO

    - #### getCommonAccessibility

          public CommonAccessibility getCommonAccessibility()

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

    - #### setFOEventHandler

          public void setFOEventHandler(FOEventHandler foEventHandler)

      Sets the FOEventHandler object that this Root is attached to
      Parameters:
        `foEventHandler` - the FOEventHandler object

    - #### getFOEventHandler

          public FOEventHandler getFOEventHandler()

      This method overrides the FONode version. The FONode version calls the method by the same name for the parent object. Since Root is at the top of the tree, it returns the actual FOEventHandler object. Thus, any FONode can use this chain to find which FOEventHandler it is being built for.
      Overrides:
        `getFOEventHandler` in class `FONode`
      Returns:
        the FOEventHandler implementation that this Root is attached to

    - #### setBuilderContext

          public void setBuilderContext(FOTreeBuilderContext context)

      Sets the builder context for this FO tree.
      Parameters:
        `context` - the builder context to be used

    - #### getBuilderContext

          public FOTreeBuilderContext getBuilderContext()

      Returns the context class providing information used during FO tree building.
      Overrides:
        `getBuilderContext` in class `FONode`
      Returns:
        the builder context

    - #### getEndingPageNumberOfPreviousSequence

          public int getEndingPageNumberOfPreviousSequence()

      Gets the last page number generated by the previous page-sequence
      Returns:
        the last page number, 0 if no page sequences yet generated

    - #### getTotalPagesGenerated

          public int getTotalPagesGenerated()

      Returns the total number of pages generated by FOP (May not equal endingPageNumberOfPreviousSequence due to initial-page-number property on fo:page-sequences.)
      Returns:
        the last page number, 0 if no page sequences yet generated

    - #### notifyPageSequenceFinished

          public void notifyPageSequenceFinished(int lastPageNumber,
                                                 int additionalPages)
                                          throws IllegalArgumentException

      Notify additional pages generated to increase the totalPagesGenerated counter
      Parameters:
        `lastPageNumber` - the last page number generated by the sequence
        `additionalPages` - the total pages generated by the sequence (for statistics)
      Throws:
        `IllegalArgumentException` - for negative additional page counts

    - #### getPageSequenceCount

          public int getPageSequenceCount()

      Returns the number of PageSequence instances.
      Returns:
        the number of PageSequence instances

    - #### getSucceedingPageSequence

          public PageSequence getSucceedingPageSequence(PageSequence current)

      Some properties, such as 'force-page-count', require a page-sequence to know about some properties of the next.
      Parameters:
        `current` - the current PageSequence
      Returns:
        succeeding PageSequence; null if none

    - #### addPageSequence

          public void addPageSequence(PageSequence pageSequence)

      Adds the specified page sequence.
      Parameters:
        `pageSequence` - The page sequence to add

    - #### getLastPageSequence

          public PageSequence getLastPageSequence()

      Returns the last page sequence (current while parsing).
      Returns:
        The last page sequence or null

    - #### getLayoutMasterSet

          public LayoutMasterSet getLayoutMasterSet()

      Returns the associated LayoutMasterSet.
      Returns:
        the LayoutMasterSet instance

    - #### setLayoutMasterSet

          public void setLayoutMasterSet(LayoutMasterSet layoutMasterSet)

      Sets the associated LayoutMasterSet.
      Parameters:
        `layoutMasterSet` - the LayoutMasterSet to use

    - #### getDeclarations

          public Declarations getDeclarations()

      Returns the associated Declarations.
      Returns:
        the Declarations instance

    - #### setDeclarations

          public void setDeclarations(Declarations declarations)

      Sets the associated Declarations.
      Parameters:
        `declarations` - the Declarations to use

    - #### setBookmarkTree

          public void setBookmarkTree(BookmarkTree bookmarkTree)

      Set the BookmarkTree object for this FO
      Parameters:
        `bookmarkTree` - the BookmarkTree object

    - #### addDestination

          public void addDestination(Destination destination)

      Add a Destination object to this FO
      Parameters:
        `destination` - the Destination object to add

    - #### getDestinationList

          public List getDestinationList()

      Public accessor for the list of Destination objects for this FO
      Returns:
        the Destination object

    - #### getBookmarkTree

          public BookmarkTree getBookmarkTree()

      Public accessor for the BookmarkTree object for this FO
      Returns:
        the BookmarkTree object

    - #### getRoot

          public Root getRoot()

      Returns the root node of this tree
      Overrides:
        `getRoot` in class `FONode`
      Returns:
        the root node

    - #### 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_ROOT`

    - #### getLocale

          public Locale getLocale()

      Returns:
        locale proprty.

Copyright © 2023 Apache Software Foundation. All rights reserved.