|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.foray.layout.LayoutStrategy
org.foray.pioneer.PioneerLS
public class PioneerLS
The LayoutStrategy implementation for the Pioneer layout strategy. The Pioneer layout strategy is an "eager" layout strategy, which is to say that it is built more for speed and simplicity than for full conformance with the XSL-FO standard. The general flow of the Pioneer layout strategy is as follows:
Constructor Summary | |
---|---|
PioneerLS(org.apache.commons.logging.Log logger)
Constructor. |
Method Summary | |
---|---|
void |
addPendingFootnote(org.axsl.fo.fo.FootnoteBody fb)
Adds a footnote to the list of pending (not laid out) footnotes. |
Status |
checkBreakBefore(org.axsl.fo.Fo node,
org.axsl.area.Area area)
Indicates whether a "break-before" condition exists for a given FO Tree node being laid out in a given AreaTree area. |
void |
completeCurrentLineInBlock(org.axsl.area.NormalBlockArea blockArea)
Completes the current line in a given block area. |
BlockPL |
getBlockPL(org.axsl.area.NormalBlockArea blockArea)
Returns the layout manager for a given block area. |
protected FONodePL |
getLayoutProxy(org.axsl.fo.Fo node)
Return or create a layout proxy for a given FO Tree node. |
org.axsl.text.line.EagerLineBreaker |
getLineBreaker()
Return the line breaker used by this layout system. |
void |
layoutStaticContent(org.axsl.fo.fo.PageSequence pageSequence,
org.axsl.fo.fo.Region region,
org.axsl.area.RegionRefArea area)
For a given region, layout the static content for that region. |
Object |
makeFObjProxy(org.axsl.fo.Fo node)
Create a proxy for a given FOTree node. |
BasicLinkPL |
makeProxy(org.axsl.fo.fo.BasicLink node)
|
BidiOverridePL |
makeProxy(org.axsl.fo.fo.BidiOverride node)
|
BlockPL |
makeProxy(org.axsl.fo.fo.Block node)
|
BlockContainerPL |
makeProxy(org.axsl.fo.fo.BlockContainer node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.Bookmark node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.BookmarkTitle node)
|
FOTextPL |
makeProxy(org.axsl.fo.fo.CharacterSequence node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.ColorProfile node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.Declarations node)
|
ExternalGraphicPL |
makeProxy(org.axsl.fo.fo.ExternalGraphic node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.Float node)
|
FlowPL |
makeProxy(org.axsl.fo.fo.Flow node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.Fo node)
|
FootnotePL |
makeProxy(org.axsl.fo.fo.Footnote node)
|
FootnoteBodyPL |
makeProxy(org.axsl.fo.fo.FootnoteBody node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.InitialPropertySet node)
|
InlinePL |
makeProxy(org.axsl.fo.fo.Inline node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.InlineContainer node)
|
InstreamForeignObjectPL |
makeProxy(org.axsl.fo.fo.InstreamForeignObject node)
|
LeaderPL |
makeProxy(org.axsl.fo.fo.Leader node)
|
ListBlockPL |
makeProxy(org.axsl.fo.fo.ListBlock node)
|
ListItemPL |
makeProxy(org.axsl.fo.fo.ListItem node)
|
ListItemBodyPL |
makeProxy(org.axsl.fo.fo.ListItemBody node)
|
ListItemLabelPL |
makeProxy(org.axsl.fo.fo.ListItemLabel node)
|
MarkerPL |
makeProxy(org.axsl.fo.fo.Marker node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.MultiCase node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.MultiProperties node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.MultiPropertySet node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.MultiSwitch node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.MultiToggle node)
|
PageNumberPL |
makeProxy(org.axsl.fo.fo.PageNumber node)
|
PageNumberCitationPL |
makeProxy(org.axsl.fo.fo.PageNumberCitation node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.PageSequence node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.RegionAfter node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.RegionBefore node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.RegionBody node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.RegionEnd node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.RegionStart node)
|
RetrieveMarkerPL |
makeProxy(org.axsl.fo.fo.RetrieveMarker node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.Root node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.SimplePageMaster node)
|
StaticContentPL |
makeProxy(org.axsl.fo.fo.StaticContent node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.foreign.SvgElement node)
|
TablePL |
makeProxy(org.axsl.fo.fo.Table node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.TableAndCaption node)
|
TableBodyPL |
makeProxy(org.axsl.fo.fo.TableBody node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.TableCaption node)
|
TableCellPL |
makeProxy(org.axsl.fo.fo.TableCell node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.TableColumn node)
|
TableFooterPL |
makeProxy(org.axsl.fo.fo.TableFooter node)
|
TableHeaderPL |
makeProxy(org.axsl.fo.fo.TableHeader node)
|
TableRowPL |
makeProxy(org.axsl.fo.fo.TableRow node)
|
NoLayoutPL |
makeProxy(org.axsl.fo.fo.Title node)
|
WrapperPL |
makeProxy(org.axsl.fo.fo.Wrapper node)
|
void |
processPageSequence(org.axsl.area.PageCollection pageCollection)
Performs layout on one PageCollection. |
protected void |
setLayoutProxy(org.axsl.fo.Fo node,
FONodePL layoutProxy)
Sets the linkage for a given FoNode. |
void |
setLineBreaker(org.axsl.text.line.EagerLineBreaker lineBreaker)
Sets the line breaker for this layout system. |
Methods inherited from class org.foray.layout.LayoutStrategy |
---|
formatPageSequence, formatStaticContent, getLogger, handleLineBreakNonText, handleLineBreakText, popInlineStack, pushInlineStack |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PioneerLS(org.apache.commons.logging.Log logger)
logger
- The logger to be used by this layout system.Method Detail |
---|
public BlockPL getBlockPL(org.axsl.area.NormalBlockArea blockArea)
blockArea
- The block area for which the layout manager is needed.
public void completeCurrentLineInBlock(org.axsl.area.NormalBlockArea blockArea)
blockArea
- The block area which should be completed.public void processPageSequence(org.axsl.area.PageCollection pageCollection) throws org.axsl.area.AreaTreeException
LayoutStrategy
processPageSequence
in class LayoutStrategy
pageCollection
- The (empty) page collection into which layout
should be placed. (The PageCollection has a reference to the FOTree
PageSequence that has the content to be laid out).
org.axsl.area.AreaTreeException
- For errors during layout.public void layoutStaticContent(org.axsl.fo.fo.PageSequence pageSequence, org.axsl.fo.fo.Region region, org.axsl.area.RegionRefArea area) throws org.axsl.area.AreaTreeException
LayoutStrategy
layoutStaticContent
in class LayoutStrategy
pageSequence
- The page sequence whose static content is being
processed.region
- The page region whose static content is being laid out.area
- The region area into which the static content should be
placed.
org.axsl.area.AreaTreeException
- For errors during layout.public Status checkBreakBefore(org.axsl.fo.Fo node, org.axsl.area.Area area)
node
- The FO Tree node to be laid out.area
- The AreaTree area into which node
should be laid
out.
Status.OK
if no break is required.public Object makeFObjProxy(org.axsl.fo.Fo node)
node
- The FOTree node for which a proxy needs to be created.
public NoLayoutPL makeProxy(org.axsl.fo.Fo node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.PageSequence node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.BookmarkTitle node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.Bookmark node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.ColorProfile node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.Declarations node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public FOTextPL makeProxy(org.axsl.fo.fo.CharacterSequence node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.Title node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public BidiOverridePL makeProxy(org.axsl.fo.fo.BidiOverride node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public BlockPL makeProxy(org.axsl.fo.fo.Block node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public BlockContainerPL makeProxy(org.axsl.fo.fo.BlockContainer node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public ExternalGraphicPL makeProxy(org.axsl.fo.fo.ExternalGraphic node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public FlowPL makeProxy(org.axsl.fo.fo.Flow node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public FootnotePL makeProxy(org.axsl.fo.fo.Footnote node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.Float node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public FootnoteBodyPL makeProxy(org.axsl.fo.fo.FootnoteBody node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.InitialPropertySet node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public InlinePL makeProxy(org.axsl.fo.fo.Inline node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.InlineContainer node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public InstreamForeignObjectPL makeProxy(org.axsl.fo.fo.InstreamForeignObject node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public LeaderPL makeProxy(org.axsl.fo.fo.Leader node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public ListBlockPL makeProxy(org.axsl.fo.fo.ListBlock node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public ListItemPL makeProxy(org.axsl.fo.fo.ListItem node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public ListItemBodyPL makeProxy(org.axsl.fo.fo.ListItemBody node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public ListItemLabelPL makeProxy(org.axsl.fo.fo.ListItemLabel node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public MarkerPL makeProxy(org.axsl.fo.fo.Marker node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.MultiCase node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.MultiProperties node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.MultiPropertySet node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.MultiSwitch node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.MultiToggle node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public PageNumberPL makeProxy(org.axsl.fo.fo.PageNumber node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public PageNumberCitationPL makeProxy(org.axsl.fo.fo.PageNumberCitation node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public RetrieveMarkerPL makeProxy(org.axsl.fo.fo.RetrieveMarker node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public StaticContentPL makeProxy(org.axsl.fo.fo.StaticContent node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public TablePL makeProxy(org.axsl.fo.fo.Table node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.TableAndCaption node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public TableBodyPL makeProxy(org.axsl.fo.fo.TableBody node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.TableCaption node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public TableCellPL makeProxy(org.axsl.fo.fo.TableCell node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.TableColumn node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public TableFooterPL makeProxy(org.axsl.fo.fo.TableFooter node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public TableHeaderPL makeProxy(org.axsl.fo.fo.TableHeader node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public TableRowPL makeProxy(org.axsl.fo.fo.TableRow node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public WrapperPL makeProxy(org.axsl.fo.fo.Wrapper node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.RegionAfter node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.RegionBefore node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.RegionBody node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.RegionEnd node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.RegionStart node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.Root node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.fo.SimplePageMaster node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public BasicLinkPL makeProxy(org.axsl.fo.fo.BasicLink node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public NoLayoutPL makeProxy(org.axsl.fo.foreign.SvgElement node)
makeProxy
in interface org.axsl.fo.ProxyFactory
public org.axsl.text.line.EagerLineBreaker getLineBreaker()
public void setLineBreaker(org.axsl.text.line.EagerLineBreaker lineBreaker)
lineBreaker
- The new line breaker.protected FONodePL getLayoutProxy(org.axsl.fo.Fo node)
node
- The node for which the proxy is needed.
protected void setLayoutProxy(org.axsl.fo.Fo node, FONodePL layoutProxy)
node
- The node whose linkage is to be set.layoutProxy
- The layout proxy for node
.public void addPendingFootnote(org.axsl.fo.fo.FootnoteBody fb)
fb
- The footnote to be added.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |