org.foray.area
Class BlockContainerRA

java.lang.Object
  extended by org.foray.common.AbstractOrderedTreeNode
      extended by org.foray.area.AreaNode
          extended by org.foray.area.Area
              extended by org.foray.area.AreaFlexible
                  extended by org.foray.area.ContainerRA
                      extended by org.foray.area.BlockContainerRA
All Implemented Interfaces:
Iterable<org.axsl.galley.AreaNode>, TreeNode, org.axsl.area.Area, org.axsl.area.AreaNode, org.axsl.area.BlockContainerRefArea, org.axsl.area.BlockContentFactory, org.axsl.fo.FoContext, org.axsl.galley.BackgroundArea, org.axsl.galley.BlockContainerArea, org.axsl.galley.BorderPaddingArea, org.axsl.galley.GraphicArea, OrderedTreeNode

public final class BlockContainerRA
extends ContainerRA
implements org.axsl.galley.BlockContainerArea, org.axsl.area.BlockContainerRefArea

The container area for the contents of a block-container FO.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.foray.common.AbstractOrderedTreeNode
AbstractOrderedTreeNode.PostOrderDescendantIterator
 
Method Summary
 org.axsl.common.value.RelativeAxis contentStackingAxis()
          Returns the content stacking axis for this area.
 int crBpd()
           
 int crIpd()
           
 int crOriginBPDOffset()
          The difference, in millipoints, between the page-viewport-area's before-edge and this Area's content-rectangle before-edge.
 String getAreaName()
           
 List<AreaNode> getChildren()
          Return the List of this node's children.
 org.axsl.graphic.Graphic getGraphic()
           
 FOLinkage getLinkage()
          Returns the raw "generated by" instance.
 Area getOverflowArea(Area childRequesting)
          This method is used by child Areas to ask the parent Area into which Area the child Area's overflow should be placed.
 AreaNode getParent()
           
 int getProgressionDimension()
          Returns the actual total value, in millipoints, of the size of this area (not counting space-before, etc.) in its progression direction.
 void incrementProgressionDimension(int incrementAmount)
          Change the progression-dimension used by this Area.
 boolean isAbsolutelyPositioned()
          Indicates whether this Area is positioned absolutely or relatively.
 BlockContainerRA makeBlockContainerArea(org.axsl.fo.fo.BlockContainer blockContainer, org.axsl.fo.fo.GraftingPoint graftingPoint)
           
 ListBlockArea makeListBlockArea(org.axsl.fo.fo.ListBlock listBlock, org.axsl.fo.fo.GraftingPoint graftingPoint)
           
 NormalBlockArea makeNormalBlockArea(org.axsl.fo.fo.Block block, org.axsl.fo.fo.GraftingPoint graftingPoint)
           
 TableRA makeTableArea(org.axsl.fo.fo.Table table, org.axsl.fo.fo.GraftingPoint graftingPoint)
           
protected  boolean optimize()
          This method should be run after layout is complete, allowing cleanup and adjustments that do not affect the placement of the areas to be computed before the page is rendered.
 void render(org.axsl.galley.RenderVisitor visitor)
           
 void setParent(AreaNode node)
          Sets the parent node.
 void setProgressionDimension(int progressionDimension)
          Sets the progression-dimension used by this Area.
 org.axsl.common.value.AbsolutePosition traitAbsolutePosition()
          Returns the "absolute-position" trait for this Area.
 Color traitBackgroundColor()
           
 org.axsl.graphic.Graphic traitBackgroundImage()
           
 org.axsl.common.value.BackgroundRepeat traitBackgroundRepeat()
           
 Color traitBorderAfterColor()
           
 org.axsl.common.value.BorderStyle traitBorderAfterStyle()
          Returns the border style for the "after" edge of this Area.
 int traitBorderAfterWidth()
          Returns the border-after-width trait for this area.
 Color traitBorderBeforeColor()
           
 org.axsl.common.value.BorderStyle traitBorderBeforeStyle()
          Returns the border style for the "before" edge of this Area.
 int traitBorderBeforeWidth()
          Returns the border-before-width trait for this area.
 Color traitBorderEndColor()
           
 org.axsl.common.value.BorderStyle traitBorderEndStyle()
          Returns the border style for the "end" edge of this Area.
 int traitBorderEndWidth()
          Returns the border-end-width trait for this area.
 Color traitBorderStartColor()
           
 org.axsl.common.value.BorderStyle traitBorderStartStyle()
          Returns the border style for the "start" edge of this Area.
 int traitBorderStartWidth()
          Returns the border-start-width trait for this area.
 int traitBottom()
          Returns the bottom trait for this area.
 int traitEndIndent()
          Returns the end-indent trait.
 org.axsl.fo.fo.BlockContainer traitGeneratedBy()
           
 int traitIPDimensionOpt()
          Return the optimum IP dimension for this area.
 int traitLeft()
          Returns the left trait for this area.
 int traitPaddingAfter()
          Returns the padding-after trait for this area.
 int traitPaddingBefore()
          Returns the padding-before trait for this area.
 int traitPaddingEnd()
          Returns the padding-end trait for this area.
 int traitPaddingStart()
          Returns the padding-start trait for this area.
 int traitRight()
          Returns the right trait for this area.
 int traitSpaceAfterOptimum()
          Returns the space-after optimum trait for this area.
 int traitSpaceBeforeOptimum()
          Returns the space-before optimum trait for this area.
 int traitSpaceEndOptimum()
          Returns the space-end optimum trait for this area.
 int traitSpaceStartOptimum()
          Returns the space-start optimum trait for this area.
 int traitStartIndent()
          Returns the start-indent trait.
 int traitTop()
          Returns the top trait for this area.
 
Methods inherited from class org.foray.area.AreaFlexible
computeInitialPD, crIPDBlockArea, crOriginIPDOffset, getAnteriorSpace, incrementAnteriorSpace, incrementParentPD, initializeAnteriorSpace, pdAvailable, pdUsedBySiblings, removeChild, setAnteriorSpace, setMinimumProgressionDimension, setParentPD, usedProgressionDimension, usedProgressionDimensionNormalFlow
 
Methods inherited from class org.foray.area.Area
brBpd, brIpd, brOriginBPDOffset, brOriginIPDOffset, brOriginX, brOriginY, brPoints, contentStackingAxisAbsolute, contentStackingDirectionAbsolute, crOriginX, crOriginY, crPoints, destinationName, generatedByExists, generatedByName, getAreaParent, getBPAxis, getFontWritingMode, getIPAxis, getNearestAncestorAreaContainer, getWritingMode, hasFenceFollowing, hasFencePreceding, isBlockArea, isFirstChildOfParent, isInNormalFlow, isLastChildOfParent, isLinkRoot, larBPD, larIPD, larOriginX, larOriginY, linkDestination, linkType, narBPD, narIPD, narOriginX, narOriginY, nearestArea, parentAllocationWidth, prBpd, prIpd, prOriginBPDOffset, prOriginIPDOffset, prOriginX, prOriginY, referenceOrientationCumulative, shouldAdjustParentPD, traitAreaClass, traitId, traitIsFirst, traitIsLast, traitIsReferenceArea, traitWhiteSpaceTreatment
 
Methods inherited from class org.foray.area.AreaNode
ancestorArea, ancestorBlockAreaNotALineArea, ancestorBlockContentFactory, ancestorBlockOrRa, ancestorGeneratedByBlockLevelFO, ancestorLineArea, ancestorNormalBlockArea, ancestorPageCollection, ancestorReferenceArea, ancestorSpanRA, ancestorTableArea, bpdAncestorBlockOrRa, getAllowsChildren, getAreaTree, getChildAt, getColor, getContainingReferenceArea, getFirstAreaChild, getFirstChild, getGalley, getGraftingPoint, getLastAreaChild, getLastChild, getLogger, getNextChildOfGeneratedBy, getNextSiblingArea, getNormalLinkage, getNormalLinkage, getOrderedParent, getPage, getPreviousChildOfGeneratedBy, getPreviousSiblingArea, getSiblings, hasUnresolvedRefId, heightContainingBlock, ipdAncestorBlockArea, ipdAncestorBlockOrRa, ipdContainingRefArea, ipdParentArea, isFirst, isFirstChildOfGeneratedBy, isGeneratedByBlockLevelFo, isLast, isLastChildOfGeneratedBy, iterator, linkage, nearestBeforeFloatArea, nearestFootnoteArea, nearestGeneratedByBlockLevelFo, nearestNormalBlockArea, nearestTableArea, optimizeChildren, registerWithLinkage, remove, removeChild, tableWidth, widthContainingBlock
 
Methods inherited from class org.foray.common.AbstractOrderedTreeNode
children, getChildCount, getFirstLeaf, getIndex, getLastLeaf, getLevel, getNextLeaf, getNextSibling, getPreviousLeaf, getPreviousSibling, getSharedAncestor, hasChildren, isLeaf, isNodeAncestor, isNodeDescendant, nextPostOrderNode, nextPreOrderNode, postOrderDescendantIterator, siblingIndex
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.axsl.galley.BackgroundArea
prBpd, prIpd, prOriginX, prOriginY
 
Methods inherited from interface org.axsl.galley.Area
brBpd, brIpd, brOriginX, brOriginY, crOriginX, crOriginY, destinationName, generatedByExists, generatedByName, isLinkRoot, linkDestination, linkType, traitId
 
Methods inherited from interface org.axsl.galley.AreaNode
getGalley
 
Methods inherited from interface javax.swing.tree.TreeNode
children, getAllowsChildren, getChildCount, getIndex, isLeaf
 
Methods inherited from interface java.lang.Iterable
iterator
 
Methods inherited from interface org.axsl.area.Area
pdAvailable
 
Methods inherited from interface org.axsl.area.AreaNode
ancestorArea, ancestorBlockContentFactory, ancestorNormalBlockArea, ancestorTableArea, getAreaTree, getPage, isFirstChildOfGeneratedBy, nearestArea, nearestGeneratedByBlockLevelFo, removeChild, siblingIndex
 
Methods inherited from interface org.axsl.fo.FoContext
bpdAncestorBlockOrRa, getGraftingPoint, heightContainingBlock, ipdAncestorBlockArea, ipdAncestorBlockOrRa, ipdContainingRefArea, ipdParentArea, isFirst, isLast, tableWidth, widthContainingBlock
 

Method Detail

isAbsolutelyPositioned

public boolean isAbsolutelyPositioned()
Description copied from class: Area
Indicates whether this Area is positioned absolutely or relatively.

Specified by:
isAbsolutelyPositioned in class Area
Returns:
True iff this Area is absolutely positioned.

crOriginBPDOffset

public int crOriginBPDOffset()
Description copied from class: Area
The difference, in millipoints, between the page-viewport-area's before-edge and this Area's content-rectangle before-edge. This assumes for now that the BP Direction is the same for all areas.

Overrides:
crOriginBPDOffset in class AreaFlexible
Returns:
The BPD offset of the content rectangle.

getAreaName

public String getAreaName()
Specified by:
getAreaName in interface org.axsl.area.AreaNode

render

public void render(org.axsl.galley.RenderVisitor visitor)
            throws org.axsl.galley.GalleyVisitorException
Throws:
org.axsl.galley.GalleyVisitorException

getGraphic

public org.axsl.graphic.Graphic getGraphic()
Specified by:
getGraphic in interface org.axsl.galley.GraphicArea

crIpd

public int crIpd()
Specified by:
crIpd in interface org.axsl.area.Area
Specified by:
crIpd in class Area

crBpd

public int crBpd()
Specified by:
crBpd in interface org.axsl.area.Area
Specified by:
crBpd in class Area

contentStackingAxis

public org.axsl.common.value.RelativeAxis contentStackingAxis()
Description copied from class: Area
Returns the content stacking axis for this area.

Specified by:
contentStackingAxis in class Area
Returns:
Either RelativeAxis.BLOCK_PROGRESSION or RelativeAxis.INLINE_PROGRESSION, depending on whether the contents of this area stack in the block-progression-direction or the inline-progression-direction. The default value is that contents stack in the BPD. Classes that stack in the IPD should override this method.

getParent

public AreaNode getParent()
Specified by:
getParent in interface TreeNode
Specified by:
getParent in class AreaNode

setParent

public void setParent(AreaNode node)
               throws org.axsl.area.AreaTreeException
Description copied from class: AreaNode
Sets the parent node.

Specified by:
setParent in class AreaNode
Parameters:
node - The new parent node.
Throws:
org.axsl.area.AreaTreeException - If the parent node is not compatible with the implementations specification for a parent node.

getChildren

public List<AreaNode> getChildren()
Description copied from class: AbstractOrderedTreeNode
Return the List of this node's children.

Specified by:
getChildren in class AreaNode
Returns:
The List of this node's children.

getOverflowArea

public Area getOverflowArea(Area childRequesting)
                     throws org.axsl.area.AreaTreeException
Description copied from class: Area
This method is used by child Areas to ask the parent Area into which Area the child Area's overflow should be placed. Overflows start when a new LineArea cannot be create for the current BlockArea. General strategy for overflow is to recursively go up the tree until getting to any Area that knows how to solve the overflow. One general case is the page-reference-area, which should know how to create a new page.

Specified by:
getOverflowArea in class Area
Parameters:
childRequesting - Child Areas ask
Returns:
The younger sister Area that should be used to handle the overflow condition.
Throws:
org.axsl.area.AreaTreeException - If the Area is unable to find or create the overflow area.

setProgressionDimension

public void setProgressionDimension(int progressionDimension)
Description copied from class: Area
Sets the progression-dimension used by this Area.

Specified by:
setProgressionDimension in class Area
Parameters:
progressionDimension - The new progression-dimension value for this Area.

incrementProgressionDimension

public void incrementProgressionDimension(int incrementAmount)
Description copied from class: Area
Change the progression-dimension used by this Area.

Specified by:
incrementProgressionDimension in class Area
Parameters:
incrementAmount - The amount by which the progression-dimension should be changed for this area. Positive values increase the progression-dimension, negative values decrease it.

getProgressionDimension

public int getProgressionDimension()
Description copied from class: Area

Returns the actual total value, in millipoints, of the size of this area (not counting space-before, etc.) in its progression direction. This value does not include space-before, etc., but does include borders and padding. For block areas, the progression dimension is the block-progression-dimension. For inline areas, it is the inline-progression-dimension.

Specified by:
getProgressionDimension in class Area
Returns:
The progressionDimension.

optimize

protected boolean optimize()
Description copied from class: AreaNode
This method should be run after layout is complete, allowing cleanup and adjustments that do not affect the placement of the areas to be computed before the page is rendered. For example, empty areas should be removed. Also classes like LineArea can use this to adjust word-spacing and other variables. NOTE: This method is called recursively by each node. The process starts at PageRA.layoutComplete().

Specified by:
optimize in class AreaNode
Returns:
True iff the Area node thinks it should be removed.

getLinkage

public FOLinkage getLinkage()
Description copied from class: AreaNode
Returns the raw "generated by" instance.

Specified by:
getLinkage in class AreaNode
Returns:
The raw linkage item.

traitGeneratedBy

public org.axsl.fo.fo.BlockContainer traitGeneratedBy()
Specified by:
traitGeneratedBy in interface org.axsl.area.AreaNode
Specified by:
traitGeneratedBy in class AreaNode

makeTableArea

public TableRA makeTableArea(org.axsl.fo.fo.Table table,
                             org.axsl.fo.fo.GraftingPoint graftingPoint)
Specified by:
makeTableArea in interface org.axsl.area.BlockContentFactory

makeNormalBlockArea

public NormalBlockArea makeNormalBlockArea(org.axsl.fo.fo.Block block,
                                           org.axsl.fo.fo.GraftingPoint graftingPoint)
Specified by:
makeNormalBlockArea in interface org.axsl.area.BlockContentFactory

makeBlockContainerArea

public BlockContainerRA makeBlockContainerArea(org.axsl.fo.fo.BlockContainer blockContainer,
                                               org.axsl.fo.fo.GraftingPoint graftingPoint)
Specified by:
makeBlockContainerArea in interface org.axsl.area.BlockContentFactory

makeListBlockArea

public ListBlockArea makeListBlockArea(org.axsl.fo.fo.ListBlock listBlock,
                                       org.axsl.fo.fo.GraftingPoint graftingPoint)
Specified by:
makeListBlockArea in interface org.axsl.area.BlockContentFactory

traitAbsolutePosition

public org.axsl.common.value.AbsolutePosition traitAbsolutePosition()
Returns the "absolute-position" trait for this Area.

Returns:
The "absolute-position" trait.

traitTop

public int traitTop()
Returns the top trait for this area.

Returns:
The top trait for this area.
See Also:
CommonPositionPa.traitTop(FoContext)

traitBottom

public int traitBottom()
Returns the bottom trait for this area.

Returns:
The bottom trait for this area.
See Also:
CommonPositionPa.traitBottom(FoContext)

traitLeft

public int traitLeft()
Returns the left trait for this area.

Returns:
The left trait for this area.
See Also:
CommonPositionPa.traitLeft(FoContext)

traitRight

public int traitRight()
Returns the right trait for this area.

Returns:
The right trait for this area.
See Also:
CommonPositionPa.traitRight(FoContext)

traitBackgroundImage

public org.axsl.graphic.Graphic traitBackgroundImage()
Specified by:
traitBackgroundImage in interface org.axsl.galley.BackgroundArea

traitBackgroundColor

public Color traitBackgroundColor()
Specified by:
traitBackgroundColor in interface org.axsl.galley.BackgroundArea

traitBackgroundRepeat

public org.axsl.common.value.BackgroundRepeat traitBackgroundRepeat()
Specified by:
traitBackgroundRepeat in interface org.axsl.galley.BackgroundArea

traitBorderBeforeColor

public Color traitBorderBeforeColor()
Specified by:
traitBorderBeforeColor in interface org.axsl.galley.BorderPaddingArea

traitBorderStartColor

public Color traitBorderStartColor()
Specified by:
traitBorderStartColor in interface org.axsl.galley.BorderPaddingArea

traitBorderEndColor

public Color traitBorderEndColor()
Specified by:
traitBorderEndColor in interface org.axsl.galley.BorderPaddingArea

traitBorderAfterColor

public Color traitBorderAfterColor()
Specified by:
traitBorderAfterColor in interface org.axsl.galley.BorderPaddingArea

traitBorderStartStyle

public org.axsl.common.value.BorderStyle traitBorderStartStyle()
Returns the border style for the "start" edge of this Area.

Specified by:
traitBorderStartStyle in interface org.axsl.galley.BorderPaddingArea
Returns:
The border style for the "start" edge of this Area.

traitBorderEndStyle

public org.axsl.common.value.BorderStyle traitBorderEndStyle()
Returns the border style for the "end" edge of this Area.

Specified by:
traitBorderEndStyle in interface org.axsl.galley.BorderPaddingArea
Returns:
The border style for the "end" edge of this Area.

traitBorderBeforeStyle

public org.axsl.common.value.BorderStyle traitBorderBeforeStyle()
Returns the border style for the "before" edge of this Area.

Specified by:
traitBorderBeforeStyle in interface org.axsl.galley.BorderPaddingArea
Returns:
The border style for the "before" edge of this Area.

traitBorderAfterStyle

public org.axsl.common.value.BorderStyle traitBorderAfterStyle()
Returns the border style for the "after" edge of this Area.

Specified by:
traitBorderAfterStyle in interface org.axsl.galley.BorderPaddingArea
Returns:
The border style for the "after" edge of this Area.

traitBorderStartWidth

public int traitBorderStartWidth()
Description copied from class: Area
Returns the border-start-width trait for this area.

Specified by:
traitBorderStartWidth in interface org.axsl.galley.BorderPaddingArea
Specified by:
traitBorderStartWidth in class Area
Returns:
The border-start-width trait for this area.

traitBorderEndWidth

public int traitBorderEndWidth()
Description copied from class: Area
Returns the border-end-width trait for this area.

Specified by:
traitBorderEndWidth in interface org.axsl.galley.BorderPaddingArea
Specified by:
traitBorderEndWidth in class Area
Returns:
The border-end-width trait for this area.

traitBorderBeforeWidth

public int traitBorderBeforeWidth()
Description copied from class: Area
Returns the border-before-width trait for this area.

Specified by:
traitBorderBeforeWidth in interface org.axsl.galley.BorderPaddingArea
Specified by:
traitBorderBeforeWidth in class Area
Returns:
The border-before-width trait for this area.

traitBorderAfterWidth

public int traitBorderAfterWidth()
Description copied from class: Area
Returns the border-after-width trait for this area.

Specified by:
traitBorderAfterWidth in interface org.axsl.galley.BorderPaddingArea
Specified by:
traitBorderAfterWidth in class Area
Returns:
The border-after-width trait for this area.

traitPaddingStart

public int traitPaddingStart()
Description copied from class: Area
Returns the padding-start trait for this area.

Specified by:
traitPaddingStart in class Area
Returns:
The padding-start trait for this area.

traitPaddingEnd

public int traitPaddingEnd()
Description copied from class: Area
Returns the padding-end trait for this area.

Specified by:
traitPaddingEnd in class Area
Returns:
The padding-end trait for this area.

traitPaddingBefore

public int traitPaddingBefore()
Description copied from class: Area
Returns the padding-before trait for this area.

Specified by:
traitPaddingBefore in class Area
Returns:
The padding-before trait for this area.

traitPaddingAfter

public int traitPaddingAfter()
Description copied from class: Area
Returns the padding-after trait for this area.

Specified by:
traitPaddingAfter in class Area
Returns:
The padding-after trait for this area.

traitSpaceBeforeOptimum

public int traitSpaceBeforeOptimum()
Description copied from class: Area
Returns the space-before optimum trait for this area.

Specified by:
traitSpaceBeforeOptimum in class Area
Returns:
The space-before optimum trait for this area.

traitSpaceAfterOptimum

public int traitSpaceAfterOptimum()
Description copied from class: Area
Returns the space-after optimum trait for this area.

Specified by:
traitSpaceAfterOptimum in class Area
Returns:
The space-after optimum trait for this area.

traitEndIndent

public int traitEndIndent()
Description copied from class: Area
Returns the end-indent trait.

Specified by:
traitEndIndent in class Area
Returns:
The end-indent trait.

traitStartIndent

public int traitStartIndent()
Description copied from class: Area
Returns the start-indent trait.

Specified by:
traitStartIndent in class Area
Returns:
The start-indent trait.

traitSpaceStartOptimum

public int traitSpaceStartOptimum()
Description copied from class: Area
Returns the space-start optimum trait for this area.

Specified by:
traitSpaceStartOptimum in class Area
Returns:
The space-start optimum trait for this area.

traitSpaceEndOptimum

public int traitSpaceEndOptimum()
Description copied from class: Area
Returns the space-end optimum trait for this area.

Specified by:
traitSpaceEndOptimum in class Area
Returns:
The space-end optimum trait for this area.

traitIPDimensionOpt

public int traitIPDimensionOpt()
Description copied from class: AreaFlexible
Return the optimum IP dimension for this area.

Specified by:
traitIPDimensionOpt in class AreaFlexible
Returns:
The optimum IP dimension for this area, or -1 for "auto".


Copyright © 2017. All rights reserved.