# Package org.apache.fop.layoutmgr

FOP's layout engine.

See: Description

Interface Summary
BlockLevelEventProducer: Event producer interface for block-level layout managers.
BlockLevelLayoutManager: The interface for LayoutManagers which generate block areas
BreakOpportunity: Defines methods to evaluate break opportunities at a particular location in the tree of layout managers.
ConditionalElementListener: This interface is used to notify layout managers about the situation around spaces, borders and padding just before the addArea() method is called when a part is being painted.
ElementListObserver.Observer: Implement this interface to receive notifications on element lists.
LayoutManager: The interface for all LayoutManagers.
LayoutManagerMaker: The interface for all LayoutManager makers
TopLevelLayoutManager: This interface is implemented by top-level layout managers such as the ones for fo:page-sequence and fox:external-document.

Class Summary
AbstractBaseLayoutManager: The base class for nearly all LayoutManagers.
AbstractBreaker: Abstract base class for breakers (page breakers, static region handlers etc.).
AbstractBreaker.BlockSequence: Helper class, extending the functionality of the basic `BlockKnuthSequence`.
AbstractBreaker.FloatPosition
AbstractBreaker.PageBreakPosition: A page break position.
AbstractLayoutManager: The base class for most LayoutManagers.
AbstractPageSequenceLayoutManager: Abstract base class for a page sequence layout manager.
Adjustment
AreaAdditionUtil: Utility class which provides common code for the addAreas stage.
BalancingColumnBreakingAlgorithm: This is a the breaking algorithm that is responsible for balancing columns in multi-column layout.
BlockContainerLayoutManager: LayoutManager for a block-container FO.
BlockKnuthSequence: Represents a list of block level Knuth elements.
BlockLayoutManager: LayoutManager for a block FO.
BlockLevelEventProducer.Provider: Provider class for the event producer.
BlockStackingLayoutManager: Base LayoutManager class for all areas which stack their child areas in the block-progression direction, such as Flow, Block, ListBlock.
BlockStackingLayoutManager.MappingPosition: A mapping position.
BorderElement: This represents an unresolved border element.
BorderOrPaddingElement: This class represents an unresolved border or padding element.
BreakElement: This class represents an unresolved break possibility.
BreakingAlgorithm: The set of nodes is sorted into lines indexed into activeLines.
BreakOpportunityHelper: Helper implementations of the `BreakOpportunity` methods.
ElementListObserver: This class is used to observe Knuth element lists generated within the layout managers.
ElementListUtils: Utilities for Knuth element lists.
ExternalDocumentLayoutManager: LayoutManager for an external-document extension element.
FloatContentLayoutManager
FlowLayoutManager: LayoutManager for an fo:flow object.
FootenoteUtil
FootnoteBodyLayoutManager: Layout manager for footnote bodies.
InlineKnuthSequence<T extends ListElement>: Represents a list of inline Knuth elements.
Keep: Object representing a keep constraint, corresponding to the XSL-FO keep properties.
KnuthBlockBox: Knuth box used to represent a line in block-progression-dimension (i.e.
KnuthBox: An instance of this class represents an unbreakable piece of content with fixed width: for example an image, a syllable (but only if letter spacing is constant), ...
KnuthElement: This is the super class for KnuthBox, KnuthGlue and KnuthPenalty.
KnuthGlue: An instance of this class represents a piece of content with adjustable width: for example a space between words of justified text.
KnuthPenalty: An instance of this class represents information about a feasible breaking point; it does not represent any piece of content.
KnuthPossPosIter: A dedicated `PositionIterator` that is backed by an iterator over a list of `KnuthElement`s.
KnuthSequence<T extends ListElement>: Represents a list of `Knuth elements`.
LayoutContext: This class is used to pass information to the getNextKnuthElements() method.
LayoutException.LayoutExceptionFactory: Exception factory for `LayoutException`.
LayoutManagerMapping: The default LayoutManager maker class
LayoutManagerMapping.BasicLinkLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.BidiOverrideLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.BlockContainerLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.BlockLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.CharacterLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.ExternalGraphicLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.FloatLayoutManagerMaker
LayoutManagerMapping.FootnoteLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.FOTextLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.InlineContainerLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.InlineLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.InstreamForeignObjectLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.LeaderLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.ListBlockLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.ListItemLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.Maker: a layout manager maker base class
LayoutManagerMapping.PageNumberCitationLastLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.PageNumberCitationLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.PageNumberLayoutManagerMaker: a layout manager maker
LayoutManagerMapping.TableLayoutManagerMaker: a layout manager maker
LeafPosition: A leaf position.
ListElement: This class is the base class for all kinds of elements that are added to element lists.
LMiter: An iterator for layout managers.
LocalBreaker
MultiCaseLayoutManager
MultiSwitchLayoutManager
NonLeafPosition: A non-leaf position.
PaddingElement: This represents an unresolved padding element.
Page: This object is used by the layout engine to represent a page.
PageBreaker: Handles the breaking of pages in an fo:flow
PageProvider: This class delivers Page instances.
PageSequenceLayoutManager: LayoutManager for a PageSequence.
Position: A position.
PositionIterator: An iterator over `Position` instances, that is wrapped around another 'parent' `Iterator`.
RelSide: Enum class for relative sides.
RetrieveTableMarkerLayoutManager
SpacedBorderedPaddedBlockLayoutManager: A block-stacking layout manager for an FO that supports spaces, border and padding.
SpaceElement: This class represents an unresolved space element.
SpaceResolver: This class resolves spaces and conditional borders and paddings by replacing the UnresolvedListElements descendants by the right combination of KnuthElements on an element list.
SpaceResolver.SpaceHandlingBreakPosition: Position class for break possibilities.
SpaceResolver.SpaceHandlingPosition: Position class for no-break situations.
SpaceSpecifier: Accumulate a sequence of space-specifiers (XSL space type) on areas with a stacking constraint.
StaticContentLayoutManager: LayoutManager for an fo:flow object.
TraitSetter: This is a helper class used for setting common traits on areas.
UnresolvedListElement: This class represents an unresolved list element.
UnresolvedListElementWithLength: This class represents an unresolved list element element with a (conditional) length.
WhitespaceManagementPenalty: A special penalty used to specify content having multiple variants.

Exception Summary
LayoutException: Exception thrown by FOP if an unrecoverable layout error occurs.

## Package org.apache.fop.layoutmgr Description

FOP's layout engine. Layout managers and supporting classes.