public class SinkAdapter extends AbstractSink
Sink
interface. Useful for testing purposes.JUSTIFY_CENTER, JUSTIFY_LEFT, JUSTIFY_RIGHT, NUMBERING_DECIMAL, NUMBERING_LOWER_ALPHA, NUMBERING_LOWER_ROMAN, NUMBERING_UPPER_ALPHA, NUMBERING_UPPER_ROMAN, SECTION_LEVEL_1, SECTION_LEVEL_2, SECTION_LEVEL_3, SECTION_LEVEL_4, SECTION_LEVEL_5, SECTION_LEVEL_6
COLON, EOL, EQUAL, GREATER_THAN, LEFT_CURLY_BRACKET, LEFT_SQUARE_BRACKET, LESS_THAN, MINUS, PLUS, QUOTE, RIGHT_CURLY_BRACKET, RIGHT_SQUARE_BRACKET, SEMICOLON, SLASH, SPACE, STAR
Constructor and Description |
---|
SinkAdapter() |
Modifier and Type | Method and Description |
---|---|
void |
address_()
Ends an address element.
|
void |
address(SinkEventAttributes attributes)
Starts an address element.
|
void |
anchor_()
Ends an anchor element.
|
void |
anchor(String name,
SinkEventAttributes attributes)
Starts an element which defines an anchor.
|
void |
article_()
Ends the article element.
|
void |
article(SinkEventAttributes attributes)
Starts an article within a document.
|
void |
author_()
Ends an author element.
|
void |
author(SinkEventAttributes attributes)
Starts an author element.
|
void |
blockquote_()
Ends an blockquote element.
|
void |
blockquote(SinkEventAttributes attributes)
Starts a blockquote element.
|
void |
body_()
Ends the body element.
|
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 |
content_()
Ends a main content section.
|
void |
content(SinkEventAttributes attributes)
Start the main content section between the header and the
footer within the sections and/or body.
|
void |
data_()
Ends an data element.
|
void |
data(String value,
SinkEventAttributes attributes)
Starts a data element which groups together other elements representing microformats.
|
void |
date_()
Ends the date element.
|
void |
date(SinkEventAttributes attributes)
Starts the date element.
|
void |
definedTerm_()
Ends 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(SinkEventAttributes attributes)
Starts a definition element within a definition list.
|
void |
definitionList_()
Ends 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(SinkEventAttributes attributes)
Starts a list item element within a definition list.
|
void |
division_()
Ends a division element.
|
void |
division(SinkEventAttributes attributes)
Starts a division element grouping together other elements.
|
void |
figure_()
Ends 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(SinkEventAttributes attributes)
Starts a figure caption.
|
void |
figureGraphics(String src,
SinkEventAttributes attributes)
Adds a graphic element.
|
void |
flush()
Flush the writer or the stream, if needed.
|
void |
footer_()
Ends a footer element.
|
void |
footer(SinkEventAttributes attributes)
Start a new footer within the section or body.
|
void |
head_()
Ends the head element.
|
void |
head(SinkEventAttributes attributes)
Starts the head element.
|
void |
header_()
Ends a header element.
|
void |
header(SinkEventAttributes attributes)
Start a new header within the section or body.
|
void |
horizontalRule(SinkEventAttributes attributes)
Adds a horizontal separator rule.
|
void |
inline_()
Ends an inline element.
|
void |
inline(SinkEventAttributes attributes)
Starts an inline element.
|
void |
italic_()
Ends an italic element.
|
void |
italic()
Starts an italic element.
|
void |
lineBreak(SinkEventAttributes attributes)
Adds a line break.
|
void |
lineBreakOpportunity(SinkEventAttributes attributes)
Adds a line break opportunity.
|
void |
link_()
Ends a link element.
|
void |
link(String name,
SinkEventAttributes attributes)
Starts a link.
|
void |
list_()
Ends 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(SinkEventAttributes attributes)
Starts a list item element within an unordered list.
|
void |
monospaced_()
Ends a monospaced element.
|
void |
monospaced()
Starts a monospaced element.
|
void |
navigation_()
Ends the navigation element.
|
void |
navigation(SinkEventAttributes attributes)
Starts a navigation section within a document.
|
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,
SinkEventAttributes attributes)
Starts an ordered list element.
|
void |
numberedListItem_()
Ends 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(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 |
sectionTitle_(int level)
Ends a section title at the given level.
|
void |
sectionTitle(int level,
SinkEventAttributes attributes)
Start a new section title at the given level.
|
void |
sidebar_()
Ends the sidebar element.
|
void |
sidebar(SinkEventAttributes attributes)
Starts a sidebar section within a document.
|
void |
table_()
Ends a table element.
|
void |
table(SinkEventAttributes attributes)
Starts a table.
|
void |
tableCaption_()
Ends a caption element of a table.
|
void |
tableCaption(SinkEventAttributes attributes)
Starts a table caption.
|
void |
tableCell_()
Ends a cell element.
|
void |
tableCell(SinkEventAttributes attributes)
Starts a table cell.
|
void |
tableHeaderCell_()
Ends a cell header element.
|
void |
tableHeaderCell(SinkEventAttributes attributes)
Starts a table header cell.
|
void |
tableRow_()
Ends a row element.
|
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,
SinkEventAttributes attributes)
Adds a text.
|
void |
time_()
Ends a time element.
|
void |
time(String datetime,
SinkEventAttributes attributes)
Starts a time element which groups together other elements representing a time.
|
void |
title_()
Ends 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(SinkEventAttributes attributes)
Starts a verbatim block, ie a block where whitespace has semantic relevance.
|
address, anchor, article, author, blockquote, body, content, data, date, definedTerm, definition, definitionList, definitionListItem, division, figure, figureCaption, figureGraphics, footer, head, header, horizontalRule, init, inline, lineBreak, lineBreakOpportunity, link, list, listItem, navigation, numberedList, numberedListItem, paragraph, section1_, section1, section2_, section2, section3_, section3, section4_, section4, section5_, section5, section6_, section6, sectionTitle_, sectionTitle, sectionTitle1_, sectionTitle1, sectionTitle2_, sectionTitle2, sectionTitle3_, sectionTitle3, sectionTitle4_, sectionTitle4, sectionTitle5_, sectionTitle5, sectionTitle6_, sectionTitle6, sidebar, table, tableCaption, tableCell, tableHeaderCell, tableRow, tableRows, text, time, title, unifyEOLs, verbatim
public SinkAdapter()
public void head_()
public void body_()
public void article_()
public void navigation_()
public void sidebar_()
public void list_()
public void listItem_()
public void numberedList_()
public void numberedListItem_()
public void definitionList_()
public void definitionListItem_()
public void definition_()
public void figure_()
public void table_()
public void tableRows_()
public void tableRow_()
public void title_()
public void author_()
public void date_()
public void header_()
public void content_()
public void footer_()
public void paragraph_()
public void data_()
public void time_()
public void address_()
public void blockquote_()
public void division_()
public void verbatim_()
public void definedTerm_()
public void figureCaption_()
public void tableCell_()
public void tableHeaderCell_()
public void tableCaption_()
public void pageBreak()
public void anchor_()
public void link_()
public void inline_()
public void italic()
Sink.text(String,SinkEventAttributes)
with
STYLE
instead.public void italic_()
Sink.text(String,SinkEventAttributes)
with
STYLE
instead.public void bold()
Sink.text(String,SinkEventAttributes)
with
STYLE
instead.public void bold_()
Sink.text(String,SinkEventAttributes)
with
STYLE
instead.public void monospaced()
Sink.text(String,SinkEventAttributes)
with
STYLE
instead.public void monospaced_()
Sink.text(String,SinkEventAttributes)
with
STYLE
instead.public void nonBreakingSpace()
public void rawText(String text)
text
- The text to write.public void comment(String comment)
comment
- The comment to write.public void flush()
public void close()
public void head(SinkEventAttributes attributes)
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 Sink.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
.
attributes
- A set of SinkEventAttributes
, may be null
.public void title(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.Sink.head(SinkEventAttributes)
public void author(SinkEventAttributes attributes)
Supported attributes are: EMAIL
.
attributes
- A set of SinkEventAttributes
, may be null
.Sink.head(SinkEventAttributes)
public void date(SinkEventAttributes attributes)
YYYY-MM-DDwhere
YYYY
is the year in the Gregorian calendar,MM
is the month of the year between 01 (January) and 12 (December),DD
is the day of the month between 01 and 31.Supported attributes are: none.
attributes
- A set of SinkEventAttributes
, may be null
.Sink.head(SinkEventAttributes)
public void body(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.Sink.head(SinkEventAttributes)
public void article(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void navigation(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.Sink.navigation(SinkEventAttributes)
public void sidebar(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void section(int level, SinkEventAttributes attributes)
Sections with higher level have to be entirely contained within sections of lower level.
Supported attributes are the base attributes
.
level
- the section level (must be a value between 1 and 6).attributes
- A set of SinkEventAttributes
, may be null
.public void section_(int level)
public void sectionTitle(int level, SinkEventAttributes attributes)
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
.
level
- the section title level (must be a value between 1 and 6).attributes
- A set of SinkEventAttributes
, may be null
.public void sectionTitle_(int level)
public void header(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void content(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void footer(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void list(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void listItem(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void numberedList(int numbering, SinkEventAttributes attributes)
Supported attributes are the base attributes
.
numbering
- the numbering style.attributes
- A set of SinkEventAttributes
, may be null
.Sink.NUMBERING_DECIMAL
,
Sink.NUMBERING_LOWER_ALPHA
,
Sink.NUMBERING_LOWER_ROMAN
,
Sink.NUMBERING_UPPER_ALPHA
,
Sink.NUMBERING_UPPER_ROMAN
public void numberedListItem(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void definitionList(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void definitionListItem(SinkEventAttributes attributes)
Every definitionListItem has to contain exactly one Sink.definedTerm(SinkEventAttributes)
and one Sink.definition(SinkEventAttributes)
, in this order.
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void definition(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void definedTerm(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void figure(SinkEventAttributes attributes)
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
.
attributes
- A set of SinkEventAttributes
, may be null
.public void figureCaption(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.Sink.figure(SinkEventAttributes)
public void figureGraphics(String src, SinkEventAttributes attributes)
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.
src
- the image source, a valid URL.attributes
- A set of SinkEventAttributes
, may be null
.Sink.figure(SinkEventAttributes)
public void table(SinkEventAttributes attributes)
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
Sink.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
.
attributes
- A set of SinkEventAttributes
, may be null
.public void tableRows(int[] justification, boolean grid)
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.Sink.table(SinkEventAttributes)
,
Sink.JUSTIFY_CENTER
,
Sink.JUSTIFY_LEFT
,
Sink.JUSTIFY_RIGHT
public void tableRow(SinkEventAttributes attributes)
Supported attributes are the base attributes
plus:
ALIGN
,BGCOLOR
,VALIGN
.
attributes
- A set of SinkEventAttributes
, may be null
.public void tableCell(SinkEventAttributes attributes)
Supported attributes are the base attributes
plus:
ABBRV
,ALIGN
,AXIS
,BGCOLOR
,COLSPAN
,HEADERS
,HEIGHT
,NOWRAP
,ROWSPAN
,SCOPE
,VALIGN
,WIDTH
.
attributes
- A set of SinkEventAttributes
, may be null
.public void tableHeaderCell(SinkEventAttributes attributes)
Supported attributes are the same as for tableCell
.
attributes
- A set of SinkEventAttributes
, may be null
.public void tableCaption(SinkEventAttributes attributes)
Note that the order of tableCaption and
Sink.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
.
attributes
- A set of SinkEventAttributes
, may be null
.Sink.table(SinkEventAttributes)
public void paragraph(SinkEventAttributes attributes)
Supported attributes are the base attributes
plus ALIGN
.
attributes
- A set of SinkEventAttributes
, may be null
.public void data(String value, SinkEventAttributes attributes)
Supported attributes are the base attributes
plus VALUE
.
value
- the machine readable value of the data, may be null
.attributes
- A set of SinkEventAttributes
, may be null
.public void time(String datetime, SinkEventAttributes attributes)
Supported attributes are the base attributes
plus DATETIME
.
datetime
- the machine readable value of the time, may be null
.attributes
- A set of SinkEventAttributes
, may be null
.public void address(SinkEventAttributes attributes)
attributes
- A set of SinkEventAttributes
, may be null
.public void blockquote(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
attributes
- A set of SinkEventAttributes
, may be null
.public void division(SinkEventAttributes attributes)
Supported attributes are the base attributes
plus ALIGN
.
attributes
- A set of SinkEventAttributes
, may be null
.public void verbatim(SinkEventAttributes attributes)
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
(values: "source"),ALIGN
,WIDTH
.
attributes
- A set of SinkEventAttributes
, may be null
.public void horizontalRule(SinkEventAttributes attributes)
Supported attributes are the base attributes
plus:
ALIGN
,NOSHADE
,SIZE
,WIDTH
.
attributes
- A set of SinkEventAttributes
, may be null
.public void anchor(String name, SinkEventAttributes attributes)
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.
name
- the name of the anchor. This has to be a valid SGML NAME token.attributes
- A set of SinkEventAttributes
, may be null
.public void link(String name, SinkEventAttributes attributes)
The name
parameter has to be a valid URI according to
RFC 3986,
i.e. for internal links (links to an anchor within the same source
document), name
should start with the character "#".
This also implies that all unsafe characters are already encoded.
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.
name
- the name of the link.attributes
- A set of SinkEventAttributes
, may be null
.URI.toASCIIString()
public void inline(SinkEventAttributes attributes)
The inline method is similar to Sink.text(String,SinkEventAttributes)
, but
allows you to wrap arbitrary elements in addition to text.
Supported attributes are the base attributes
plus
SEMANTICS
(values "emphasis", "strong",
"small", "line-through", "citation", "quote", "definition", "abbreviation",
"italic", "bold", "monospaced", "variable", "sample", "keyboard", "superscript",
"subscript", "annotation", "highlight", "ruby", "rubyBase", "rubyText",
"rubyTextContainer", "rubyParentheses", "bidirectionalIsolation",
"bidirectionalOverride", "phrase", "insert", "delete").
attributes
- A set of SinkEventAttributes
, may be null
.public void lineBreak(SinkEventAttributes attributes)
attributes
- A set of SinkEventAttributes
, may be null
.public void lineBreakOpportunity(SinkEventAttributes attributes)
attributes
- A set of SinkEventAttributes
, may be null
.public void text(String text, SinkEventAttributes attributes)
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
SEMANTICS
(values "emphasis", "strong",
"small", "line-through", "citation", "quote", "definition", "abbreviation",
"italic", "bold", "monospaced", "variable", "sample", "keyboard", "superscript",
"subscript", "annotation", "highlight", "ruby", "rubyBase", "rubyText",
"rubyTextContainer", "rubyParentheses", "bidirectionalIsolation",
"bidirectionalOverride", "phrase", "insert", "delete").
The following attributes are deprecated:
VALIGN
(values "sub", "sup"),DECORATION
(values "underline", "overline", "line-through"),STYLE
(values "italic", "bold", "monospaced").
text
- The text to write.attributes
- A set of SinkEventAttributes
, may be null
.public void unknown(String name, Object[] requiredParams, SinkEventAttributes attributes)
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
.Copyright © 2005–2024 The Apache Software Foundation. All rights reserved.