Class Table

    • 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​(org.xml.sax.Locator loc,
                                         java.lang.String nsURI,
                                         java.lang.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
      • 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 java.util.List 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.
      • 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.
      • 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 java.lang.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
      • 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
      • collectDelimitedTextRanges

        protected java.util.Stack<DelimitedTextRange> collectDelimitedTextRanges​(java.util.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