org.apache.fop.area
Class RenderPagesModel
java.lang.Object
|
+--org.apache.fop.area.AreaTreeModel
|
+--org.apache.fop.area.RenderPagesModel
- Direct Known Subclasses:
- CachedRenderPagesModel
- public class RenderPagesModel
- extends AreaTreeModel
This uses the AreaTreeModel to store the pages
Each page is either rendered if ready or prepared
for later rendering.
Once a page is rendered it is cleared to release the
contents but the PageViewport is retained. So even
though the pages are stored the contents are discarded.
Field Summary |
protected java.util.List |
prepared
Pages that have been prepared but not rendered yet. |
protected Renderer |
renderer
The renderer that will render the pages. |
Constructor Summary |
RenderPagesModel(FOUserAgent userAgent,
java.lang.String outputFormat,
FontInfo fontInfo,
java.io.OutputStream stream)
Create a new render pages model with the given renderer. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
renderer
protected Renderer renderer
- The renderer that will render the pages.
prepared
protected java.util.List prepared
- Pages that have been prepared but not rendered yet.
RenderPagesModel
public RenderPagesModel(FOUserAgent userAgent,
java.lang.String outputFormat,
FontInfo fontInfo,
java.io.OutputStream stream)
throws FOPException
- Create a new render pages model with the given renderer.
- Parameters:
userAgent
- FOUserAgent object for processoutputFormat
- the MIME type of the output format to use (ex. "application/pdf").fontInfo
- FontInfo objectstream
- OutputStream- Throws:
FOPException
- if the renderer cannot be properly initialized
startPageSequence
public void startPageSequence(LineArea title)
- Start a new page sequence.
This tells the renderer that a new page sequence has
started with the given title.
- Overrides:
startPageSequence
in class AreaTreeModel
- Parameters:
title
- the title of the new page sequence
addPage
public void addPage(PageViewport page)
- Add a page to the render page model.
If the page is finished it can be rendered immediately.
If the page needs resolving then if the renderer supports
out of order rendering it can prepare the page. Otherwise
the page is added to a queue.
- Overrides:
addPage
in class AreaTreeModel
- Parameters:
page
- the page to add to the model
checkPreparedPages
protected boolean checkPreparedPages(PageViewport newpage,
boolean renderUnresolved)
- Check prepared pages
- Parameters:
newpage
- the new page being addedrenderUnresolved
- render pages with unresolved idref's
(done at end-of-document processing)- Returns:
- true if the current page should be rendered
false if the renderer doesn't support out of order
rendering and there are pending pages
preparePage
protected void preparePage(PageViewport page)
- Prepare a page.
An unresolved page can be prepared if the renderer supports
it and the page will be rendered later.
- Parameters:
page
- the page to prepare
handleOffDocumentItem
public void handleOffDocumentItem(OffDocumentItem oDI)
- Description copied from class:
AreaTreeModel
- Handle an OffDocumentItem
- Overrides:
handleOffDocumentItem
in class AreaTreeModel
- See Also:
AreaTreeModel.handleOffDocumentItem(OffDocumentItem)
endDocument
public void endDocument()
throws org.xml.sax.SAXException
- End the document. Render any end document OffDocumentItems
- Overrides:
endDocument
in class AreaTreeModel
- See Also:
AreaTreeModel.endDocument()
Copyright 1999-2005 The Apache Software Foundation. All Rights Reserved.