Class ListItem

    • Constructor Detail

      • ListItem

        public ListItem​(FONode parent)
        Base constructor
        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 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​(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* (list-item-label,list-item-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
      • addChildNode

        public void addChildNode​(FONode child)
        Adds a node as a child of this node. The default implementation of this method just ignores any child node being added. TODO see if can/should rely on base class for this (i.e., add to childNodes instead)
        Overrides:
        addChildNode in class FObj
        Parameters:
        child - child node to be added to the childNodes of this node
      • getKeepWithNext

        public KeepProperty getKeepWithNext()
        Returns:
        the "keep-with-next" property
      • getKeepWithPrevious

        public KeepProperty getKeepWithPrevious()
        Returns:
        the "keep-with-previous" property
      • getKeepTogether

        public KeepProperty getKeepTogether()
        Returns:
        the "keep-together" property
      • getLabel

        public ListItemLabel getLabel()
        Returns:
        the label of the list item
      • getBody

        public ListItemBody getBody()
        Returns:
        the body of the list item
      • 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
      • 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