org.apache.maven.doxia.sink
Interface Sink

All Superinterfaces:
LogEnabled
All Known Subinterfaces:
Sink

public interface Sink
extends LogEnabled

A Sink consumes Doxia events to produce a resultant output format (eg Docbook, PDF, XHTML...).

Doxia allows you to transform any supported input document format (ie for which a Parser exists) into any supported output document format (ie for which a Sink exists).

A parser is responsible for reading an input document and emitting a sequence of Doxia events which can then be consumed by a Doxia Sink. Thus, you can parse any front- end format (eg APT, FML, Xdoc, ...) and have them all contribute to a final XHTML version of a web site. All documents being parsed result in a stream of Doxia events (eg paragraph, bold, italic, text,...), which are then fed into a XHTML Sink to produce a set of XHTML pages.

A Sink is ultimately responsible for the final format and structure of the output document. For example, you can take a collection of APT documents, let a Parser emit a series of Doxia events and have that be fed into a Sink to produce a single PDF, a book, a site, or a Word document. The Sink is fully responsible for the final output.

You can easily integrate any custom (XML, Wiki,...) format by creating a Doxia Parser which reads your input document and produces a proper sequence of Doxia events. Those can then be fed into an arbitrary Sink to produce any desired final output.

Note: All implemented sink should use UTF-8 as encoding.

Since:
1.0-alpha-6
Version:
$Id: Sink.java 905077 2010-01-31 17:24:47Z hboutemy $
Author:
Jason van Zyl, Vincent Siveton, ltheussl

Field Summary
static int JUSTIFY_CENTER
          Center alignment for table cells.
static int JUSTIFY_LEFT
          Left alignment for table cells.
static int JUSTIFY_RIGHT
          Right alignment for table cells.
static int NUMBERING_DECIMAL
          A numbering to handle a number list.
static int NUMBERING_LOWER_ALPHA
          A numbering to handle a lower alpha list.
static int NUMBERING_LOWER_ROMAN
          A numbering to handle a lower roman list.
static int NUMBERING_UPPER_ALPHA
          A numbering to handle a upper alpha list.
static int NUMBERING_UPPER_ROMAN
          A numbering to handle a upper roman list.
static String ROLE
          The Plexus Sink Role.
static int SECTION_LEVEL_1
          A level 1 section (section).
static int SECTION_LEVEL_2
          A level 2 section (subsection).
static int SECTION_LEVEL_3
          A level 3 section (sub-subsection).
static int SECTION_LEVEL_4
          A level 4 section (sub-sub-subsection).
static int SECTION_LEVEL_5
          A level 5 section (sub-sub-sub-subsection).
 
Method Summary
 void anchor_()
          Ends an anchor element.
 void anchor(String name)
          Starts an element which defines an anchor.
 void anchor(String name, SinkEventAttributes attributes)
          Starts an element which defines an anchor.
 void author_()
          Ends an author element.
 void author()
          Starts an author element.
 void author(SinkEventAttributes attributes)
          Starts an author element.
 void body_()
          Ends the body element.
 void body()
          Starts the body of a document.
 void body(SinkEventAttributes attributes)
          Starts the body of a document.
 void bold_()
          Ends a bold element.
 void bold()
          Starts a bold element.
 void close()
          Close the writer or the stream, if needed.
 void comment(String comment)
          Add a comment.
 void date_()
          Ends the date element.
 void date()
          Starts the date element.
 void date(SinkEventAttributes attributes)
          Starts the date element.
 void definedTerm_()
          Starts a definition term element within a definition list.
 void definedTerm()
          Starts a definition term element within a definition list.
 void definedTerm(SinkEventAttributes attributes)
          Starts a definition term element within a definition list.
 void definition_()
          Ends a definition element within a definition list.
 void definition()
          Starts a definition element within a definition list.
 void definition(SinkEventAttributes attributes)
          Starts a definition element within a definition list.
 void definitionList_()
          Ends a definition list element.
 void definitionList()
          Starts a definition list element.
 void definitionList(SinkEventAttributes attributes)
          Starts a definition list.
 void definitionListItem_()
          Ends a list item element within a definition list.
 void definitionListItem()
          Starts a list item element within a definition list.
 void definitionListItem(SinkEventAttributes attributes)
          Starts a list item element within a definition list.
 void figure_()
          Ends a basic image embedding element.
 void figure()
          Starts a basic image embedding element.
 void figure(SinkEventAttributes attributes)
          Starts a basic image embedding element.
 void figureCaption_()
          Ends a caption of an image.
 void figureCaption()
          Starts a caption of an image element.
 void figureCaption(SinkEventAttributes attributes)
          Starts a figure caption.
 void figureGraphics(String name)
          Adding a source of a graphic.
 void figureGraphics(String src, SinkEventAttributes attributes)
          Adds a graphic element.
 void flush()
          Flush the writer or the stream, if needed.
 void head_()
          Ends the head element.
 void head()
          Starts the head element.
 void head(SinkEventAttributes attributes)
          Starts the head element.
 void horizontalRule()
          Adding a separator of sections from a text to each other.
 void horizontalRule(SinkEventAttributes attributes)
          Adds a horizontal separator rule.
 void italic_()
          Ends an italic element.
 void italic()
          Starts an italic element.
 void lineBreak()
          Adds a line break.
 void lineBreak(SinkEventAttributes attributes)
          Adds a line break.
 void link_()
          Ends a link element.
 void link(String name)
          Starts an element which defines a link.
 void link(String name, SinkEventAttributes attributes)
          Starts a link.
 void list_()
          Ends an unordered list element.
 void list()
          Starts an unordered list element.
 void list(SinkEventAttributes attributes)
          Starts an unordered list.
 void listItem_()
          Ends a list item element within an unordered list.
 void listItem()
          Starts a list item element within an unordered list.
 void listItem(SinkEventAttributes attributes)
          Starts a list item element within an unordered list.
 void monospaced_()
          Ends a monospaced element.
 void monospaced()
          Starts a monospaced element.
 void nonBreakingSpace()
          Adding a non breaking space, ie a space without any special formatting operations.
 void numberedList_()
          Ends an ordered list element.
 void numberedList(int numbering)
          Starts an ordered list element.
 void numberedList(int numbering, SinkEventAttributes attributes)
          Starts an ordered list element.
 void numberedListItem_()
          Ends a list item element within an ordered list.
 void numberedListItem()
          Starts a list item element within an ordered list.
 void numberedListItem(SinkEventAttributes attributes)
          Starts a list item element within an ordered list.
 void pageBreak()
          Adding a new page separator.
 void paragraph_()
          Ends a paragraph element.
 void paragraph()
          Starts an element which represents a paragraph.
 void paragraph(SinkEventAttributes attributes)
          Starts a paragraph.
 void rawText(String text)
          Adding a raw text, ie a text without any special formatting operations.
 void section_(int level)
          Ends a section at the given level.
 void section(int level, SinkEventAttributes attributes)
          Start a new section at the given level.
 void section1_()
          Ends a first heading element.
 void section1()
          Starts a first heading element which contains the topic of the section.
 void section2_()
          Ends a second heading element.
 void section2()
          Starts a second heading element which contains the topic of the section.
 void section3_()
          Ends a third heading element.
 void section3()
          Starts a third heading element which contains the topic of the section.
 void section4_()
          Ends a 4th heading element.
 void section4()
          Starts a 4th heading element which contains the topic of the section.
 void section5_()
          Ends a 5th heading element.
 void section5()
          Starts a 5th heading element which contains the topic of the section.
 void sectionTitle_()
          Ends a title heading element.
 void sectionTitle_(int level)
          Ends a section title at the given level.
 void sectionTitle()
          Starts a title heading element.
 void sectionTitle(int level, SinkEventAttributes attributes)
          Start a new section title at the given level.
 void sectionTitle1_()
          Ends a first title heading element.
 void sectionTitle1()
          Starts a first title heading element.
 void sectionTitle2_()
          Ends a second title heading element.
 void sectionTitle2()
          Starts a second title heading element.
 void sectionTitle3_()
          Ends a third title heading element.
 void sectionTitle3()
          Starts a third title heading element.
 void sectionTitle4_()
          Ends a 4th title heading element.
 void sectionTitle4()
          Starts a 4th title heading element.
 void sectionTitle5_()
          Ends a 5th title heading element.
 void sectionTitle5()
          Starts a 5th title heading element.
 void table_()
          Ends a table element.
 void table()
          Starts a table element for marking up tabular information in a document.
 void table(SinkEventAttributes attributes)
          Starts a table.
 void tableCaption_()
          Ends a caption element of a table.
 void tableCaption()
          Starts a caption element of a table.
 void tableCaption(SinkEventAttributes attributes)
          Starts a table caption.
 void tableCell_()
          Ends a cell element.
 void tableCell()
          Starts a cell element which defines a cell that contains data.
 void tableCell(SinkEventAttributes attributes)
          Starts a table cell.
 void tableCell(String width)
          Deprecated. Use #tableCell(SinkEventAttributes) instead.
 void tableHeaderCell_()
          Ends a cell header element.
 void tableHeaderCell()
          Starts a cell element which defines a cell that contains header information.
 void tableHeaderCell(SinkEventAttributes attributes)
          Starts a table header cell.
 void tableHeaderCell(String width)
          Deprecated. Use #tableHeaderCell(SinkEventAttributes) instead.
 void tableRow_()
          Ends a row element.
 void tableRow()
          Starts a row element which acts as a container for a row of table cells.
 void tableRow(SinkEventAttributes attributes)
          Starts a table row.
 void tableRows_()
          Ends an element that contains rows of table data.
 void tableRows(int[] justification, boolean grid)
          Starts an element that contains rows of table data.
 void text(String text)
          Adding a text.
 void text(String text, SinkEventAttributes attributes)
          Adds a text.
 void title_()
          Ends the title element.
 void title()
          Starts the title element.
 void title(SinkEventAttributes attributes)
          Starts the title element.
 void unknown(String name, Object[] requiredParams, SinkEventAttributes attributes)
          Add an unknown event.
 void verbatim_()
          Ends a verbatim element.
 void verbatim(boolean boxed)
          Deprecated. Use #verbatim(SinkEventAttributes) instead.
 void verbatim(SinkEventAttributes attributes)
          Starts a verbatim block, ie a block where whitespace has semantic relevance.
 
Methods inherited from interface org.apache.maven.doxia.logging.LogEnabled
enableLogging
 

Field Detail

ROLE

static final String ROLE
The Plexus Sink Role.


NUMBERING_DECIMAL

static final int NUMBERING_DECIMAL
A numbering to handle a number list.

See Also:
numberedList(int,SinkEventAttributes), Constant Field Values

NUMBERING_LOWER_ALPHA

static final int NUMBERING_LOWER_ALPHA
A numbering to handle a lower alpha list.

See Also:
numberedList(int,SinkEventAttributes), Constant Field Values

NUMBERING_UPPER_ALPHA

static final int NUMBERING_UPPER_ALPHA
A numbering to handle a upper alpha list.

See Also:
numberedList(int,SinkEventAttributes), Constant Field Values

NUMBERING_LOWER_ROMAN

static final int NUMBERING_LOWER_ROMAN
A numbering to handle a lower roman list.

See Also:
numberedList(int,SinkEventAttributes), Constant Field Values

NUMBERING_UPPER_ROMAN

static final int NUMBERING_UPPER_ROMAN
A numbering to handle a upper roman list.

See Also:
numberedList(int,SinkEventAttributes), Constant Field Values

SECTION_LEVEL_1

static final int SECTION_LEVEL_1
A level 1 section (section).

See Also:
section(int,SinkEventAttributes), Constant Field Values

SECTION_LEVEL_2

static final int SECTION_LEVEL_2
A level 2 section (subsection).

See Also:
section(int,SinkEventAttributes), Constant Field Values

SECTION_LEVEL_3

static final int SECTION_LEVEL_3
A level 3 section (sub-subsection).

See Also:
section(int,SinkEventAttributes), Constant Field Values

SECTION_LEVEL_4

static final int SECTION_LEVEL_4
A level 4 section (sub-sub-subsection).

See Also:
section(int,SinkEventAttributes), Constant Field Values

SECTION_LEVEL_5

static final int SECTION_LEVEL_5
A level 5 section (sub-sub-sub-subsection).

See Also:
section(int,SinkEventAttributes), Constant Field Values

JUSTIFY_CENTER

static final int JUSTIFY_CENTER
Center alignment for table cells.

See Also:
tableRows(int[], boolean), Constant Field Values

JUSTIFY_LEFT

static final int JUSTIFY_LEFT
Left alignment for table cells.

See Also:
tableRows(int[], boolean), Constant Field Values

JUSTIFY_RIGHT

static final int JUSTIFY_RIGHT
Right alignment for table cells.

See Also:
tableRows(int[], boolean), Constant Field Values
Method Detail

head

void head()
Starts the head element.

See Also:
head(SinkEventAttributes)

head

void head(SinkEventAttributes attributes)
Starts the head element.

This contains information about the current document, (eg its title) that is not considered document content. The head element is optional but if it exists, it has to be unique within a sequence of Sink events that produces one output document, and it has to come before the body(SinkEventAttributes) element.

The canonical sequence of events for the head element is:

   sink.head();

   sink.title();
   sink.text( "Title" );
   sink.title_();

   sink.author();
   sink.text( "Author" );
   sink.author_();

   sink.date();
   sink.text( "Date" );
   sink.date_();

   sink.head_();
 

but none of the enclosed events is required. However, if they exist they have to occur in the order shown, and the title() and date() events have to be unique (author() events may occur any number of times).

Supported attributes are:

PROFILE, LANG.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

head_

void head_()
Ends the head element.


title

void title()
Starts the title element.

See Also:
title(SinkEventAttributes)

title

void title(SinkEventAttributes attributes)
Starts the title element. This is used to identify the document.

Supported attributes are the base attributes.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1
See Also:
head(SinkEventAttributes)

title_

void title_()
Ends the title element.


author

void author()
Starts an author element.

See Also:
author(SinkEventAttributes)

author

void author(SinkEventAttributes attributes)
Starts an author element. This is used to identify the author of the document.

Supported attributes are: EMAIL.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1
See Also:
head(SinkEventAttributes)

author_

void author_()
Ends an author element.


date

void date()
Starts the date element.
The date is recommended (but it is not a requirement) to be align to the ISO-8601 standard, i.e.:
 YYYY-MM-DD
 
where

See Also:
date(SinkEventAttributes)

date

void date(SinkEventAttributes attributes)
Starts the date element. This is used to identify the date of the document.

Supported attributes are: none.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1
See Also:
head(SinkEventAttributes)

date_

void date_()
Ends the date element.


body

void body()
Starts the body of a document.

See Also:
body(SinkEventAttributes)

body

void body(SinkEventAttributes attributes)
Starts the body of a document. This contains the document's content.

Supported attributes are the base attributes.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1
See Also:
head(SinkEventAttributes)

body_

void body_()
Ends the body element.


sectionTitle

void sectionTitle()
Starts a title heading element.


sectionTitle_

void sectionTitle_()
Ends a title heading element.


section1

void section1()
Starts a first heading element which contains the topic of the section.

See Also:
section(int,SinkEventAttributes)

section1_

void section1_()
Ends a first heading element.


sectionTitle1

void sectionTitle1()
Starts a first title heading element. This element is optional, but if it exists, it has to be contained, and be the first element, within a section1() element.

See Also:
sectionTitle(int,SinkEventAttributes)

sectionTitle1_

void sectionTitle1_()
Ends a first title heading element.


section2

void section2()
Starts a second heading element which contains the topic of the section. This has to be contained within a section1() element.

See Also:
section(int,SinkEventAttributes)

section2_

void section2_()
Ends a second heading element.


sectionTitle2

void sectionTitle2()
Starts a second title heading element. This element is optional, but if it exists, it has to be contained, and be the first element, within a section2() element.

See Also:
sectionTitle(int,SinkEventAttributes)

sectionTitle2_

void sectionTitle2_()
Ends a second title heading element.


section3

void section3()
Starts a third heading element which contains the topic of the section. This has to be contained within a section2() element.

See Also:
section(int,SinkEventAttributes)

section3_

void section3_()
Ends a third heading element.


sectionTitle3

void sectionTitle3()
Starts a third title heading element. This element is optional, but if it exists, it has to be contained, and be the first element, within a section3() element.

See Also:
sectionTitle(int,SinkEventAttributes)

sectionTitle3_

void sectionTitle3_()
Ends a third title heading element.


section4

void section4()
Starts a 4th heading element which contains the topic of the section. This has to be contained within a section3() element.

See Also:
section(int,SinkEventAttributes)

section4_

void section4_()
Ends a 4th heading element.


sectionTitle4

void sectionTitle4()
Starts a 4th title heading element. This element is optional, but if it exists, it has to be contained, and be the first element, within a section4() element.

See Also:
sectionTitle(int,SinkEventAttributes)

sectionTitle4_

void sectionTitle4_()
Ends a 4th title heading element.


section5

void section5()
Starts a 5th heading element which contains the topic of the section. This has to be contained within a section4() element.

See Also:
section(int,SinkEventAttributes)

section5_

void section5_()
Ends a 5th heading element.


sectionTitle5

void sectionTitle5()
Starts a 5th title heading element. This element is optional, but if it exists, it has to be contained, and be the first element, within a section5() element.

See Also:
sectionTitle(int,SinkEventAttributes)

sectionTitle5_

void sectionTitle5_()
Ends a 5th title heading element.


section

void section(int level,
             SinkEventAttributes attributes)
Start a new section at the given level.

Sections with higher level have to be entirely contained within sections of lower level.

Supported attributes are the base attributes.

Parameters:
level - the section level.
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

section_

void section_(int level)
Ends a section at the given level.

Parameters:
level - the section level.
Since:
1.1

sectionTitle

void sectionTitle(int level,
                  SinkEventAttributes attributes)
Start a new section title at the given level.

This element is optional, but if it exists, it has to be contained, and be the first element, within a corresponding section element of the same level.

NOTE: It is strongly recommended not to make section titles implicit anchors. Neither Parsers nor Sinks should insert any content that is not explicitly present in the original source document, as this would lead to undefined behaviour for multi-format processing chains. However, while Parsers must never emit anchors for section titles, some specialized Sinks may implement such a feature if the resulting output documents are not going to be further processed (and this is properly documented).

Supported attributes are the base attributes plus ALIGN.

Parameters:
level - the section title level.
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

sectionTitle_

void sectionTitle_(int level)
Ends a section title at the given level.

Parameters:
level - the section title level.
Since:
1.1

list

void list()
Starts an unordered list element.

See Also:
list(SinkEventAttributes)

list

void list(SinkEventAttributes attributes)
Starts an unordered list.

Supported attributes are the base attributes.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

list_

void list_()
Ends an unordered list element.


listItem

void listItem()
Starts a list item element within an unordered list.

See Also:
listItem(SinkEventAttributes)

listItem

void listItem(SinkEventAttributes attributes)
Starts a list item element within an unordered list.

Supported attributes are the base attributes.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

listItem_

void listItem_()
Ends a list item element within an unordered list.


numberedList

void numberedList(int numbering)
Starts an ordered list element.

Parameters:
numbering - the numbering style.
See Also:
numberedList(int,SinkEventAttributes)

numberedList

void numberedList(int numbering,
                  SinkEventAttributes attributes)
Starts an ordered list element.

Supported attributes are the base attributes.

Parameters:
numbering - the numbering style.
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1
See Also:
NUMBERING_DECIMAL, NUMBERING_LOWER_ALPHA, NUMBERING_LOWER_ROMAN, NUMBERING_UPPER_ALPHA, NUMBERING_UPPER_ROMAN

numberedList_

void numberedList_()
Ends an ordered list element.


numberedListItem

void numberedListItem()
Starts a list item element within an ordered list.

See Also:
numberedListItem(SinkEventAttributes)

numberedListItem

void numberedListItem(SinkEventAttributes attributes)
Starts a list item element within an ordered list.

Supported attributes are the base attributes.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

numberedListItem_

void numberedListItem_()
Ends a list item element within an ordered list.


definitionList

void definitionList()
Starts a definition list element.

See Also:
definitionList(SinkEventAttributes)

definitionList

void definitionList(SinkEventAttributes attributes)
Starts a definition list.

Supported attributes are the base attributes.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

definitionList_

void definitionList_()
Ends a definition list element.


definitionListItem

void definitionListItem()
Starts a list item element within a definition list.

See Also:
definitionListItem(SinkEventAttributes)

definitionListItem

void definitionListItem(SinkEventAttributes attributes)
Starts a list item element within a definition list.

Every definitionListItem has to contain exactly one definedTerm(SinkEventAttributes) and one definition(SinkEventAttributes), in this order.

Supported attributes are the base attributes.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

definitionListItem_

void definitionListItem_()
Ends a list item element within a definition list.


definition

void definition()
Starts a definition element within a definition list.

See Also:
definition(SinkEventAttributes)

definition

void definition(SinkEventAttributes attributes)
Starts a definition element within a definition list.

Supported attributes are the base attributes.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

definition_

void definition_()
Ends a definition element within a definition list.


definedTerm

void definedTerm()
Starts a definition term element within a definition list.

See Also:
definedTerm(SinkEventAttributes)

definedTerm

void definedTerm(SinkEventAttributes attributes)
Starts a definition term element within a definition list.

Supported attributes are the base attributes.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

definedTerm_

void definedTerm_()
Starts a definition term element within a definition list.


figure

void figure()
Starts a basic image embedding element.

See Also:
figure(SinkEventAttributes)

figure

void figure(SinkEventAttributes attributes)
Starts a basic image embedding element.

The canonical sequence of events for the figure element is:

   sink.figure();

   sink.figureGraphics( "figure.png" );

   sink.figureCaption();
   sink.text( "Figure caption",);
   sink.figureCaption_();

   sink.figure_();
 

where the figureCaption element is optional.

However, NOTE that the order of figureCaption and figureGraphics events is arbitrary, ie a parser may emit the figureCaption before or after the figureGraphics. Implementing sinks should be prepared to handle both possibilities.

NOTE also that the figureGraphics() event does not have to be embedded inside figure(), in particular for in-line images the figureGraphics() should be used stand-alone (in HTML language, figureGraphics() produces a <img> tag, while figure() opens a paragraph- or <div>- like environment).

Supported attributes are the base attributes.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

figure_

void figure_()
Ends a basic image embedding element.


figureCaption

void figureCaption()
Starts a caption of an image element.

See Also:
figureCaption(SinkEventAttributes)

figureCaption

void figureCaption(SinkEventAttributes attributes)
Starts a figure caption.

Supported attributes are the base attributes.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1
See Also:
figure(SinkEventAttributes)

figureCaption_

void figureCaption_()
Ends a caption of an image.


figureGraphics

void figureGraphics(String name)
Adding a source of a graphic.

Parameters:
name - the source

figureGraphics

void figureGraphics(String src,
                    SinkEventAttributes attributes)
Adds a graphic element.

The src parameter should be a valid link, ie it can be an absolute URL or a link relative to the current source document.

Supported attributes are the base attributes plus:

SRC, ALT, WIDTH, HEIGHT, ALIGN, BORDER, HSPACE, VSPACE, ISMAP, USEMAP.

If the SRC attribute is specified in SinkEventAttributes, it will be overridden by the src parameter.

Parameters:
src - the image source, a valid URL.
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1
See Also:
figure(SinkEventAttributes)

table

void table()
Starts a table element for marking up tabular information in a document.

See Also:
table(SinkEventAttributes)

table

void table(SinkEventAttributes attributes)
Starts a table.

The canonical sequence of events for the table element is:

   sink.table();

   sink.tableRows( justify, true );

   sink.tableRow();
   sink.tableCell();
   sink.text( "cell 1,1" );
   sink.tableCell_();
   sink.tableCell();
   sink.text( "cell 1,2" );
   sink.tableCell_();
   sink.tableRow_();

   sink.tableRows_();

   sink.tableCaption();
   sink.text( "Table caption" );
   sink.tableCaption_();

   sink.table_();

 

where the tableCaption element is optional.

However, NOTE that the order of tableCaption and tableRows(int[],boolean) events is arbitrary, ie a parser may emit the tableCaption before or after the tableRows. Implementing sinks should be prepared to handle both possibilities.

Supported attributes are the base attributes plus:

ALIGN, BGCOLOR, BORDER, CELLPADDING, CELLSPACING, FRAME, RULES, SUMMARY, WIDTH.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

table_

void table_()
Ends a table element.


tableRows

void tableRows(int[] justification,
               boolean grid)
Starts an element that contains rows of table data.

Parameters:
justification - the default justification of columns. This can be overridden by individual table rows or table cells. If null a left alignment is assumed by default. If this array has less elements than there are columns in the table then the value of the last array element will be taken as default for the remaining table cells.
grid - true to provide a grid, false otherwise.
See Also:
table(SinkEventAttributes), JUSTIFY_CENTER, JUSTIFY_LEFT, JUSTIFY_RIGHT

tableRows_

void tableRows_()
Ends an element that contains rows of table data.


tableRow

void tableRow()
Starts a row element which acts as a container for a row of table cells.

See Also:
tableRow(SinkEventAttributes)

tableRow

void tableRow(SinkEventAttributes attributes)
Starts a table row.

Supported attributes are the base attributes plus:

ALIGN, BGCOLOR, VALIGN.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

tableRow_

void tableRow_()
Ends a row element.


tableCell

void tableCell()
Starts a cell element which defines a cell that contains data.

See Also:
tableCell(SinkEventAttributes)

tableCell

void tableCell(String width)
Deprecated. Use #tableCell(SinkEventAttributes) instead.

Starts a cell element which defines a cell that contains data.

Parameters:
width - the size of the cell.

tableCell

void tableCell(SinkEventAttributes attributes)
Starts a table cell.

Supported attributes are the base attributes plus:

ABBRV, ALIGN, AXIS, BGCOLOR, COLSPAN, HEADERS, HEIGHT, NOWRAP, ROWSPAN, SCOPE, VALIGN, WIDTH.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

tableCell_

void tableCell_()
Ends a cell element.


tableHeaderCell

void tableHeaderCell()
Starts a cell element which defines a cell that contains header information.

See Also:
tableHeaderCell(SinkEventAttributes)

tableHeaderCell

void tableHeaderCell(String width)
Deprecated. Use #tableHeaderCell(SinkEventAttributes) instead.

Starts a cell element which defines a cell that contains header information.

Parameters:
width - the size of the header cell.

tableHeaderCell

void tableHeaderCell(SinkEventAttributes attributes)
Starts a table header cell.

Supported attributes are the same as for tableCell.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

tableHeaderCell_

void tableHeaderCell_()
Ends a cell header element.


tableCaption

void tableCaption()
Starts a caption element of a table.

See Also:
tableCaption(SinkEventAttributes)

tableCaption

void tableCaption(SinkEventAttributes attributes)
Starts a table caption.

Note that the order of tableCaption and tableRows(int[],boolean) events is arbitrary, ie a parser may emit the tableCaption before or after the tableRows. Implementing sinks should be prepared to handle both possibilities.

Supported attributes are the base attributes plus ALIGN.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1
See Also:
table(SinkEventAttributes)

tableCaption_

void tableCaption_()
Ends a caption element of a table.


paragraph

void paragraph()
Starts an element which represents a paragraph.

See Also:
paragraph(SinkEventAttributes)

paragraph

void paragraph(SinkEventAttributes attributes)
Starts a paragraph.

Supported attributes are the base attributes plus ALIGN.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

paragraph_

void paragraph_()
Ends a paragraph element.


verbatim

void verbatim(boolean boxed)
Deprecated. Use #verbatim(SinkEventAttributes) instead.

Starts an element which indicates that whitespace in the enclosed text has semantic relevance.

Parameters:
boxed - true to add a box, false otherwise

verbatim

void verbatim(SinkEventAttributes attributes)
Starts a verbatim block, ie a block where whitespace has semantic relevance.

Text in a verbatim block must only be wrapped at the linebreaks in the source, and spaces should not be collapsed. It should be displayed in a fixed-width font to retain the formatting but the overall size may be chosen by the implementation.

Most Sink events may be emitted within a verbatim block, the only elements explicitly forbidden are font-changing events and figures. Also, verbatim blocks may not be nested.

Supported attributes are the base attributes plus:

DECORATION (value: "boxed"), ALIGN, WIDTH.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

verbatim_

void verbatim_()
Ends a verbatim element.


horizontalRule

void horizontalRule()
Adding a separator of sections from a text to each other.

See Also:
horizontalRule(SinkEventAttributes)

horizontalRule

void horizontalRule(SinkEventAttributes attributes)
Adds a horizontal separator rule.

Supported attributes are the base attributes plus:

ALIGN, NOSHADE, SIZE, WIDTH.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

pageBreak

void pageBreak()
Adding a new page separator.


anchor

void anchor(String name)
Starts an element which defines an anchor.

Parameters:
name - the name of the anchor.
See Also:
anchor(String,SinkEventAttributes)

anchor

void anchor(String name,
            SinkEventAttributes attributes)
Starts an element which defines an anchor.

The name parameter has to be a valid SGML NAME token. According to the HTML 4.01 specification section 6.2 SGML basic types:

ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").

Supported attributes are the base attributes. If NAME is specified in the SinkEventAttributes, it will be overwritten by the name parameter.

Parameters:
name - the name of the anchor. This has to be a valid SGML NAME token.
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

anchor_

void anchor_()
Ends an anchor element.


link

void link(String name)
Starts an element which defines a link.

Parameters:
name - the name of the link.
See Also:
link(String,SinkEventAttributes)

link

void link(String name,
          SinkEventAttributes attributes)
Starts a link.

The name parameter has to be a valid html href parameter, ie for internal links (links to an anchor within the same source document), name should start with the character "#".

Supported attributes are the base attributes plus:

CHARSET, COORDS, HREF, HREFLANG, REL, REV, SHAPE, TARGET, TYPE.

If HREF is specified in the SinkEventAttributes, it will be overwritten by the name parameter.

Parameters:
name - the name of the link.
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

link_

void link_()
Ends a link element.


italic

void italic()
Starts an italic element. Alternatively one may use text(String,SinkEventAttributes) with STYLE instead.


italic_

void italic_()
Ends an italic element. Alternatively one may use text(String,SinkEventAttributes) with STYLE instead.


bold

void bold()
Starts a bold element. Alternatively one may use text(String,SinkEventAttributes) with STYLE instead.


bold_

void bold_()
Ends a bold element. Alternatively one may use text(String,SinkEventAttributes) with STYLE instead.


monospaced

void monospaced()
Starts a monospaced element. Alternatively one may use text(String,SinkEventAttributes) with STYLE instead.


monospaced_

void monospaced_()
Ends a monospaced element. Alternatively one may use text(String,SinkEventAttributes) with STYLE instead.


lineBreak

void lineBreak()
Adds a line break.

See Also:
lineBreak(SinkEventAttributes)

lineBreak

void lineBreak(SinkEventAttributes attributes)
Adds a line break.

Supported attributes are:

ID, CLASS, TITLE, STYLE.

Parameters:
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

nonBreakingSpace

void nonBreakingSpace()
Adding a non breaking space, ie a space without any special formatting operations.


text

void text(String text)
Adding a text.

Parameters:
text - The text to write.
See Also:
text(String,SinkEventAttributes)

text

void text(String text,
          SinkEventAttributes attributes)
Adds a text.

The text parameter should contain only real content, ie any ignorable/collapsable whitespace/EOLs or other pretty-printing should be removed/normalized by a parser.

If text contains any variants of line terminators, they should be normalized to the System EOL by an implementing Sink.

Supported attributes are the base attributes plus

VALIGN (values "sub", "sup"), DECORATION (values "underline", "overline", "line-through"), STYLE (values "italic", "bold", "monospaced").

Parameters:
text - The text to write.
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

rawText

void rawText(String text)
Adding a raw text, ie a text without any special formatting operations.

Parameters:
text - The text to write.

comment

void comment(String comment)
Add a comment.

Parameters:
comment - The comment to write.
Since:
1.1

unknown

void unknown(String name,
             Object[] requiredParams,
             SinkEventAttributes attributes)
Add an unknown event. This may be used by parsers to notify a general Sink about an event that doesn't fit into any event defined by the Sink API. Depending on the parameters, a Sink may decide whether or not to process the event, emit it as raw text, as a comment, log it, etc.

Parameters:
name - The name of the event.
requiredParams - An optional array of required parameters to the event. May be null.
attributes - A set of SinkEventAttributes, may be null.
Since:
1.1

flush

void flush()
Flush the writer or the stream, if needed. Flushing a previously-flushed Sink has no effect.


close

void close()
Close the writer or the stream, if needed. Closing a previously-closed Sink has no effect.



Copyright © 2005-2012 The Apache Software Foundation. All Rights Reserved.