org.jfree.layouting.normalizer.generator
Class DefaultContentGenerator
java.lang.Object
org.jfree.layouting.normalizer.generator.DefaultContentGenerator
- All Implemented Interfaces:
- ContentGenerator, StatefullComponent
public class DefaultContentGenerator
- extends java.lang.Object
- implements ContentGenerator
The default content generator produces CSS-compliant content structures (also
known as DOM-Trees). This model explicitly allows block elements to contain
other block elements and to do all kinds of weird mixing of elements.
The content generator already has all knowledge to compute the manual
pagebreaks. So this class could already fire pagebreaks. The next element in
the layouting chain will be the Layouter itself. The renderer computes the
element positions,knows about the page sizes (and whether we have pages
anyway) and more important - keeps track of the current page and the page
fill state.
The content generator is conceptionally a part of the normalizer step, and
thererfore has access to the raw display model. The renderer receives a more
generic view with no object hierarchies at all - if that whould be needed, it
has to be rebuilt. (This simplifies serialization, so that most remote calls
are now self-contained and do not supply a possibly contradictionary context
(in terms of object-identity)).
- Author:
- Thomas Morgner
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DefaultContentGenerator
public DefaultContentGenerator(LayoutProcess layoutProcess)
DefaultContentGenerator
protected DefaultContentGenerator(Renderer renderer)
startedDocument
public void startedDocument(PageContext pageContext)
- Receives the information, that the document processing has been started.
This is fired only once.
- Specified by:
startedDocument
in interface ContentGenerator
- Parameters:
pageContext
- the page context for the default page.
startedFlow
public void startedFlow(LayoutContext element)
throws NormalizationException
- Specified by:
startedFlow
in interface ContentGenerator
- Throws:
NormalizationException
startedTable
public void startedTable(LayoutContext element)
throws NormalizationException
- Specified by:
startedTable
in interface ContentGenerator
- Throws:
NormalizationException
startedTableColumnGroup
public void startedTableColumnGroup(LayoutContext element)
throws NormalizationException
- Specified by:
startedTableColumnGroup
in interface ContentGenerator
- Throws:
NormalizationException
startedTableColumn
public void startedTableColumn(LayoutContext element)
throws NormalizationException
- Specified by:
startedTableColumn
in interface ContentGenerator
- Throws:
NormalizationException
startedTableSection
public void startedTableSection(LayoutContext element)
throws NormalizationException
- Specified by:
startedTableSection
in interface ContentGenerator
- Throws:
NormalizationException
startedTableRow
public void startedTableRow(LayoutContext element)
throws NormalizationException
- Specified by:
startedTableRow
in interface ContentGenerator
- Throws:
NormalizationException
startedTableCell
public void startedTableCell(LayoutContext element)
throws NormalizationException
- Specified by:
startedTableCell
in interface ContentGenerator
- Throws:
NormalizationException
startedBlock
public void startedBlock(LayoutContext element)
throws NormalizationException
- Specified by:
startedBlock
in interface ContentGenerator
- Throws:
NormalizationException
startedMarker
public void startedMarker(LayoutContext element)
throws NormalizationException
- Specified by:
startedMarker
in interface ContentGenerator
- Throws:
NormalizationException
startedRootInline
public void startedRootInline(LayoutContext element)
throws NormalizationException
- Specified by:
startedRootInline
in interface ContentGenerator
- Throws:
NormalizationException
startedInline
public void startedInline(LayoutContext element)
throws NormalizationException
- Specified by:
startedInline
in interface ContentGenerator
- Throws:
NormalizationException
addContent
public void addContent(LayoutContext node,
ContentToken contentToken)
throws NormalizationException
- Specified by:
addContent
in interface ContentGenerator
- Throws:
NormalizationException
finishedInline
public void finishedInline()
throws NormalizationException
- Specified by:
finishedInline
in interface ContentGenerator
- Throws:
NormalizationException
finishedMarker
public void finishedMarker()
throws NormalizationException
- Specified by:
finishedMarker
in interface ContentGenerator
- Throws:
NormalizationException
finishedRootInline
public void finishedRootInline()
throws NormalizationException
- Specified by:
finishedRootInline
in interface ContentGenerator
- Throws:
NormalizationException
finishedBlock
public void finishedBlock()
throws NormalizationException
- Specified by:
finishedBlock
in interface ContentGenerator
- Throws:
NormalizationException
finishedTableCell
public void finishedTableCell()
throws NormalizationException
- Specified by:
finishedTableCell
in interface ContentGenerator
- Throws:
NormalizationException
finishedTableRow
public void finishedTableRow()
throws NormalizationException
- Specified by:
finishedTableRow
in interface ContentGenerator
- Throws:
NormalizationException
finishedTableSection
public void finishedTableSection()
throws NormalizationException
- Specified by:
finishedTableSection
in interface ContentGenerator
- Throws:
NormalizationException
finishedTableColumn
public void finishedTableColumn()
throws NormalizationException
- Specified by:
finishedTableColumn
in interface ContentGenerator
- Throws:
NormalizationException
finishedTableColumnGroup
public void finishedTableColumnGroup()
throws NormalizationException
- Specified by:
finishedTableColumnGroup
in interface ContentGenerator
- Throws:
NormalizationException
finishedTable
public void finishedTable()
throws NormalizationException
- Specified by:
finishedTable
in interface ContentGenerator
- Throws:
NormalizationException
finishedFlow
public void finishedFlow()
throws NormalizationException
- Specified by:
finishedFlow
in interface ContentGenerator
- Throws:
NormalizationException
finishedDocument
public void finishedDocument()
throws NormalizationException
- Receives notification, that a new flow has started. A new flow is started
for each flowing or absolutly positioned element.
- Specified by:
finishedDocument
in interface ContentGenerator
- Parameters:
box
-
- Throws:
NormalizationException
handlePageBreak
public void handlePageBreak(PageContext pageContext)
- Description copied from interface:
ContentGenerator
- This event handler is triggered by 'LayoutProcess.pageBreakEncountered()'.
- Specified by:
handlePageBreak
in interface ContentGenerator
startedPassThrough
public void startedPassThrough(LayoutContext element)
throws NormalizationException
- Specified by:
startedPassThrough
in interface ContentGenerator
- Throws:
NormalizationException
addPassThroughContent
public void addPassThroughContent(LayoutContext node,
ContentToken token)
throws NormalizationException
- Specified by:
addPassThroughContent
in interface ContentGenerator
- Throws:
NormalizationException
finishedPassThrough
public void finishedPassThrough()
throws NormalizationException
- Specified by:
finishedPassThrough
in interface ContentGenerator
- Throws:
NormalizationException
saveState
public State saveState()
throws StateException
- Specified by:
saveState
in interface StatefullComponent
- Throws:
StateException
startedTableCaption
public void startedTableCaption(LayoutContext context)
throws NormalizationException
- Specified by:
startedTableCaption
in interface ContentGenerator
- Throws:
NormalizationException
finishedTableCaption
public void finishedTableCaption()
throws NormalizationException
- Specified by:
finishedTableCaption
in interface ContentGenerator
- Throws:
NormalizationException
getRenderer
public Renderer getRenderer()
- Specified by:
getRenderer
in interface ContentGenerator