Class ListItem

All Implemented Interfaces:
Cloneable, Constants, BreakPropertySet, CommonAccessibilityHolder

public class ListItem extends FObj implements BreakPropertySet, CommonAccessibilityHolder
Class modelling the list item fo:list-item object.
  • Constructor Details

    • ListItem

      public ListItem(FONode parent)
      Base constructor
      Parameters:
      parent - FONode that is the parent of this object
  • Method Details

    • 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 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
    • getCommonAccessibility

      public CommonAccessibility getCommonAccessibility()
      Returns the accessibility properties.
      Specified by:
      getCommonAccessibility in interface CommonAccessibilityHolder
      Returns:
      the accessibility properties
    • getCommonMarginBlock

      public CommonMarginBlock getCommonMarginBlock()
      Returns:
      the CommonMarginBlock
    • getCommonBorderPaddingBackground

      public CommonBorderPaddingBackground getCommonBorderPaddingBackground()
      Returns:
      the CommonBorderPaddingBackground
    • getBreakAfter

      public int getBreakAfter()
      Specified by:
      getBreakAfter in interface BreakPropertySet
      Returns:
      the "break-after" property
    • getBreakBefore

      public int getBreakBefore()
      Specified by:
      getBreakBefore in interface BreakPropertySet
      Returns:
      the "break-before" property
    • 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 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_LIST_ITEM
    • 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