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
-
-
Constructor Summary
Constructors Modifier Constructor Description DefaultContentGenerator(LayoutProcess layoutProcess)
protected
DefaultContentGenerator(Renderer renderer)
-
Method Summary
-
-
-
Constructor Detail
-
DefaultContentGenerator
public DefaultContentGenerator(LayoutProcess layoutProcess)
-
DefaultContentGenerator
protected DefaultContentGenerator(Renderer renderer)
-
-
Method Detail
-
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 interfaceContentGenerator
- Parameters:
pageContext
- the page context for the default page.
-
startedFlow
public void startedFlow(LayoutContext element) throws NormalizationException
- Specified by:
startedFlow
in interfaceContentGenerator
- Throws:
NormalizationException
-
startedTable
public void startedTable(LayoutContext element) throws NormalizationException
- Specified by:
startedTable
in interfaceContentGenerator
- Throws:
NormalizationException
-
startedTableColumnGroup
public void startedTableColumnGroup(LayoutContext element) throws NormalizationException
- Specified by:
startedTableColumnGroup
in interfaceContentGenerator
- Throws:
NormalizationException
-
startedTableColumn
public void startedTableColumn(LayoutContext element) throws NormalizationException
- Specified by:
startedTableColumn
in interfaceContentGenerator
- Throws:
NormalizationException
-
startedTableSection
public void startedTableSection(LayoutContext element) throws NormalizationException
- Specified by:
startedTableSection
in interfaceContentGenerator
- Throws:
NormalizationException
-
startedTableRow
public void startedTableRow(LayoutContext element) throws NormalizationException
- Specified by:
startedTableRow
in interfaceContentGenerator
- Throws:
NormalizationException
-
startedTableCell
public void startedTableCell(LayoutContext element) throws NormalizationException
- Specified by:
startedTableCell
in interfaceContentGenerator
- Throws:
NormalizationException
-
startedBlock
public void startedBlock(LayoutContext element) throws NormalizationException
- Specified by:
startedBlock
in interfaceContentGenerator
- Throws:
NormalizationException
-
startedMarker
public void startedMarker(LayoutContext element) throws NormalizationException
- Specified by:
startedMarker
in interfaceContentGenerator
- Throws:
NormalizationException
-
startedRootInline
public void startedRootInline(LayoutContext element) throws NormalizationException
- Specified by:
startedRootInline
in interfaceContentGenerator
- Throws:
NormalizationException
-
startedInline
public void startedInline(LayoutContext element) throws NormalizationException
- Specified by:
startedInline
in interfaceContentGenerator
- Throws:
NormalizationException
-
addContent
public void addContent(LayoutContext node, ContentToken contentToken) throws NormalizationException
- Specified by:
addContent
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedInline
public void finishedInline() throws NormalizationException
- Specified by:
finishedInline
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedMarker
public void finishedMarker() throws NormalizationException
- Specified by:
finishedMarker
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedRootInline
public void finishedRootInline() throws NormalizationException
- Specified by:
finishedRootInline
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedBlock
public void finishedBlock() throws NormalizationException
- Specified by:
finishedBlock
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedTableCell
public void finishedTableCell() throws NormalizationException
- Specified by:
finishedTableCell
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedTableRow
public void finishedTableRow() throws NormalizationException
- Specified by:
finishedTableRow
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedTableSection
public void finishedTableSection() throws NormalizationException
- Specified by:
finishedTableSection
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedTableColumn
public void finishedTableColumn() throws NormalizationException
- Specified by:
finishedTableColumn
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedTableColumnGroup
public void finishedTableColumnGroup() throws NormalizationException
- Specified by:
finishedTableColumnGroup
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedTable
public void finishedTable() throws NormalizationException
- Specified by:
finishedTable
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedFlow
public void finishedFlow() throws NormalizationException
- Specified by:
finishedFlow
in interfaceContentGenerator
- 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 interfaceContentGenerator
- 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 interfaceContentGenerator
-
startedPassThrough
public void startedPassThrough(LayoutContext element) throws NormalizationException
- Specified by:
startedPassThrough
in interfaceContentGenerator
- Throws:
NormalizationException
-
addPassThroughContent
public void addPassThroughContent(LayoutContext node, ContentToken token) throws NormalizationException
- Specified by:
addPassThroughContent
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedPassThrough
public void finishedPassThrough() throws NormalizationException
- Specified by:
finishedPassThrough
in interfaceContentGenerator
- Throws:
NormalizationException
-
saveState
public State saveState() throws StateException
- Specified by:
saveState
in interfaceStatefullComponent
- Throws:
StateException
-
startedTableCaption
public void startedTableCaption(LayoutContext context) throws NormalizationException
- Specified by:
startedTableCaption
in interfaceContentGenerator
- Throws:
NormalizationException
-
finishedTableCaption
public void finishedTableCaption() throws NormalizationException
- Specified by:
finishedTableCaption
in interfaceContentGenerator
- Throws:
NormalizationException
-
getRenderer
public Renderer getRenderer()
- Specified by:
getRenderer
in interfaceContentGenerator
-
-