Class BlockContainer

All Implemented Interfaces:
Cloneable, Constants, BreakPropertySet, WritingModeTraitsGetter

public class BlockContainer extends FObj implements BreakPropertySet, WritingModeTraitsGetter
Class modelling the fo:block-container object.
  • Constructor Details

    • BlockContainer

      public BlockContainer(FONode parent)
      Creates a new BlockContainer instance as a child of the given FONode.
      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
    • 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* (%block;)+
      BUT: "In addition an fo:block-container that does not generate an absolutely positioned area may have a sequence of zero or more fo:markers as its initial children." The latter refers to block-containers with absolute-position="absolute" or absolute-position="fixed".
      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
    • generatesReferenceAreas

      public boolean generatesReferenceAreas()
      Description copied from class: FObj
      Check if this formatting object generates reference areas.
      Overrides:
      generatesReferenceAreas in class FObj
      Returns:
      true (BlockContainer can generate Reference Areas)
    • getCommonAbsolutePosition

      public CommonAbsolutePosition getCommonAbsolutePosition()
      Returns:
      the CommonAbsolutePosition
    • getCommonMarginBlock

      public CommonMarginBlock getCommonMarginBlock()
      Returns:
      the CommonMarginBlock
    • getCommonBorderPaddingBackground

      public CommonBorderPaddingBackground getCommonBorderPaddingBackground()
      Returns:
      the CommonBorderPaddingBackground
    • getBlockProgressionDimension

      public LengthRangeProperty getBlockProgressionDimension()
      Returns:
      the "block-progression-dimension" FO trait.
    • getDisplayAlign

      public int getDisplayAlign()
      Returns:
      the "display-align" FO trait.
    • 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.
    • getInlineProgressionDimension

      public LengthRangeProperty getInlineProgressionDimension()
      Returns:
      the "inline-progression-dimension" FO trait
    • getOverflow

      public int getOverflow()
      Returns:
      the "overflow" FO trait
    • getReferenceOrientation

      public int getReferenceOrientation()
      Returns:
      the "reference-orientation" FO trait
    • getSpan

      public int getSpan()
      Returns:
      the "span" FO trait
    • getDisableColumnBalancing

      public int getDisableColumnBalancing()
      Returns:
      the "fox:disable-column-balancing" property, one of Constants.EN_TRUE, Constants.EN_FALSE
    • getInlineProgressionDirection

      public Direction getInlineProgressionDirection()
      Obtain inline progression direction.
      Specified by:
      getInlineProgressionDirection in interface WritingModeTraitsGetter
      Returns:
      the inline progression direction
    • getBlockProgressionDirection

      public Direction getBlockProgressionDirection()
      Obtain block progression direction.
      Specified by:
      getBlockProgressionDirection in interface WritingModeTraitsGetter
      Returns:
      the block progression direction
    • getColumnProgressionDirection

      public Direction getColumnProgressionDirection()
      Obtain column progression direction.
      Specified by:
      getColumnProgressionDirection in interface WritingModeTraitsGetter
      Returns:
      the column progression direction
    • getRowProgressionDirection

      public Direction getRowProgressionDirection()
      Obtain row progression direction.
      Specified by:
      getRowProgressionDirection in interface WritingModeTraitsGetter
      Returns:
      the row progression direction
    • getShiftDirection

      public Direction getShiftDirection()
      Obtain (baseline) shift direction.
      Specified by:
      getShiftDirection in interface WritingModeTraitsGetter
      Returns:
      the (baseline) shift direction
    • getWritingMode

      public WritingMode getWritingMode()
      Obtain writing mode.
      Specified by:
      getWritingMode in interface WritingModeTraitsGetter
      Returns:
      the writing mode
    • getExplicitWritingMode

      public boolean getExplicitWritingMode()
      Obtain writing mode explicit indicator.
      Specified by:
      getExplicitWritingMode in interface WritingModeTraitsGetter
      Returns:
      the writing mode explicit indicator
    • 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_BLOCK_CONTAINER
    • isBidiBoundary

      protected boolean isBidiBoundary(boolean propagate)
      Overrides:
      isBidiBoundary in class FObj