Class FoSink
- java.lang.Object
-
- org.apache.maven.doxia.sink.impl.AbstractSink
-
- org.apache.maven.doxia.sink.impl.SinkAdapter
-
- org.apache.maven.doxia.sink.impl.AbstractXmlSink
-
- org.apache.maven.doxia.module.fo.FoSink
-
- All Implemented Interfaces:
LogEnabled
,Markup
,XmlMarkup
,FoMarkup
,Sink
- Direct Known Subclasses:
FoAggregateSink
public class FoSink extends AbstractXmlSink implements FoMarkup
A Doxia Sink that produces a FO model. The usage is similar to the following:FoSink sink = new FoSink( writer ); sink.beginDocument(); ... sink.endDocument();
- Since:
- 1.1
- Version:
- $Id: FoSink.java 1726411 2016-01-23 16:34:09Z hboutemy $
- Author:
- ltheussl
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<java.lang.String,java.util.Set<java.lang.String>>
warnMessages
Map of warn messages with a String as key to describe the error type and a Set as value.-
Fields inherited from interface org.apache.maven.doxia.module.fo.FoMarkup
BASIC_LINK_TAG, BLOCK_TAG, BOOKMARK_TAG, BOOKMARK_TITLE_TAG, BOOKMARK_TREE_TAG, FLOW_TAG, FO_NAMESPACE, INLINE_TAG, LAYOUT_MASTER_SET_TAG, LEADER_TAG, LIST_BLOCK_TAG, LIST_ITEM_BODY_TAG, LIST_ITEM_LABEL_TAG, LIST_ITEM_TAG, PAGE_NUMBER_CITATION_TAG, PAGE_NUMBER_TAG, PAGE_SEQUENCE_TAG, REGION_AFTER_TAG, REGION_BEFORE_TAG, REGION_BODY_TAG, ROOT_TAG, SIMPLE_PAGE_MASTER_TAG, STATIC_CONTENT_TAG, TABLE_AND_CAPTION_TAG, TABLE_BODY_TAG, TABLE_CAPTION_TAG, TABLE_CELL_TAG, TABLE_COLUMN_TAG, TABLE_ROW_TAG, TABLE_TAG
-
Fields inherited from interface org.apache.maven.doxia.markup.Markup
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
-
Fields inherited from interface org.apache.maven.doxia.sink.Sink
JUSTIFY_CENTER, JUSTIFY_LEFT, JUSTIFY_RIGHT, NUMBERING_DECIMAL, NUMBERING_LOWER_ALPHA, NUMBERING_LOWER_ROMAN, NUMBERING_UPPER_ALPHA, NUMBERING_UPPER_ROMAN, ROLE, SECTION_LEVEL_1, SECTION_LEVEL_2, SECTION_LEVEL_3, SECTION_LEVEL_4, SECTION_LEVEL_5, SECTION_LEVEL_6
-
Fields inherited from interface org.apache.maven.doxia.markup.XmlMarkup
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
FoSink(java.io.Writer writer)
Constructor, initialize the Writer.protected
FoSink(java.io.Writer writer, java.lang.String encoding)
Constructor, initialize the Writer and tells which encoding is used.protected
FoSink(java.io.Writer writer, java.lang.String encoding, java.lang.String languageId)
Constructor, initialize the Writer and tells which encoding and languageId are used.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
anchor(java.lang.String name)
Starts an element which defines an anchor.void
anchor(java.lang.String name, SinkEventAttributes attributes)
Starts an element which defines an anchor.void
anchor_()
Ends an anchor element.void
author()
Starts an author element.void
author(SinkEventAttributes attributes)
Starts an author element.void
author_()
Ends an author element.void
beginDocument()
Writes the beginning of a FO document.void
body()
Starts the body of a document.void
body(SinkEventAttributes attributes)
Starts the body of a document.void
body_()
Ends the body element.void
bold()
Starts a bold element.void
bold_()
Ends a bold element.protected void
chapterHeading(java.lang.String headerText, boolean chapterNumber)
Writes a chapter heading.void
close()
Close the writer or the stream, if needed.void
comment(java.lang.String comment)
Add a comment.protected void
content(java.lang.String text)
Writes content, escaping special characters.void
date()
Starts the date element.void
date(SinkEventAttributes attributes)
Starts the date element.void
date_()
Ends the date element.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
definedTerm_()
Starts a definition term 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
definition_()
Ends a definition element within a definition list.void
definitionList()
Starts a definition list element.void
definitionList(SinkEventAttributes attributes)
Starts a definition list.void
definitionList_()
Ends a definition list element.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
definitionListItem_()
Ends a list item element within a definition list.void
endDocument()
Writes the end of a FO document, flushes and closes the stream.static java.lang.String
escaped(java.lang.String text, boolean verb)
Escapes special characters so that the text can be included in a fo file.void
figure()
Starts a basic image embedding element.void
figure(SinkEventAttributes attributes)
Starts a basic image embedding element.void
figure_()
Ends a basic image embedding element.void
figureCaption()
Starts a caption of an image element.void
figureCaption(SinkEventAttributes attributes)
Starts a figure caption.void
figureCaption_()
Ends a caption of an image.void
figureGraphics(java.lang.String name)
Adding a source of a graphic.void
figureGraphics(java.lang.String src, SinkEventAttributes attributes)
Adds a graphic element.void
flush()
Flush the writer or the stream, if needed.protected java.lang.String
getChapterString()
Returns the current chapter number as a string.protected FoConfiguration
getFoConfiguration()
Returns the configuration object of this sink.void
head()
Starts the head element.void
head(SinkEventAttributes attributes)
Starts the head element.void
head_()
Ends 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.protected void
init()
This is called inSink.head()
or inSink.close()
, and can be used to set the sink into a clear state so it can be re-used.protected boolean
isFigure()
Flags if we are inside a figure.void
italic()
Starts an italic element.void
italic_()
Ends an italic element.void
lineBreak()
Adds a line break.void
lineBreak(SinkEventAttributes attributes)
Adds a line break.void
link(java.lang.String name)
Starts an element which defines a link.void
link(java.lang.String name, SinkEventAttributes attributes)
Starts a link.void
link_()
Ends a link element.void
list()
Starts an unordered list element.void
list(SinkEventAttributes attributes)
Starts an unordered list.void
list_()
Ends an unordered list element.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
listItem_()
Ends a list item element within an unordered list.void
load(java.io.File configFile)
Load configuration parameters from a File.protected void
logMessage(java.lang.String key, java.lang.String msg)
If debug mode is enabled, log themsg
as is, otherwise add unique msg inwarnMessages
.void
monospaced()
Starts a monospaced element.void
monospaced_()
Ends a monospaced element.void
nonBreakingSpace()
Adding a non breaking space, ie a space without any special formatting operations.void
numberedList(int numbering)
Starts an ordered list element.void
numberedList(int numbering, SinkEventAttributes attributes)
Starts an ordered list element.void
numberedList_()
Ends an ordered list element.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
numberedListItem_()
Ends a list item element within an ordered list.void
pageBreak()
Adding a new page separator.void
paragraph()
Starts an element which represents a paragraph.void
paragraph(SinkEventAttributes attributes)
Starts a paragraph.void
paragraph_()
Ends a paragraph element.protected void
pdfBookmarks()
Writes a fo:bookmark-tree.void
rawText(java.lang.String text)
Adding a raw text, ie a text without any special formatting operations.protected void
regionAfter(java.lang.String footerText)
Writes a 'xsl-region-after' block.protected void
regionBefore(java.lang.String headerText)
Writes a 'xsl-region-before' block.protected void
resetSectionCounter()
Resets the section counter to 0.void
section(int level, SinkEventAttributes attributes)
Start a new section at the given level.void
section_(int level)
Ends a section at the given level.void
section1()
Starts a first heading element which contains the topic of the section.void
section1_()
Ends a first heading element.void
section2()
Starts a second heading element which contains the topic of the section.void
section2_()
Ends a second heading element.void
section3()
Starts a third heading element which contains the topic of the section.void
section3_()
Ends a third heading element.void
section4()
Starts a 4th heading element which contains the topic of the section.void
section4_()
Ends a 4th heading element.void
section5()
Starts a 5th heading element which contains the topic of the section.void
section5_()
Ends a 5th heading element.void
sectionTitle()
Starts a title heading element.void
sectionTitle(int level, SinkEventAttributes attributes)
Start a new section title at the given level.void
sectionTitle_()
Ends a title heading element.void
sectionTitle_(int level)
Ends a section title at the given level.void
sectionTitle1()
Starts a first title heading element.void
sectionTitle1_()
Ends a first title heading element.void
sectionTitle2()
Starts a second title heading element.void
sectionTitle2_()
Ends a second title heading element.void
sectionTitle3()
Starts a third title heading element.void
sectionTitle3_()
Ends a third title heading element.void
sectionTitle4()
Starts a 4th title heading element.void
sectionTitle4_()
Ends a 4th title heading element.void
sectionTitle5()
Starts a 5th title heading element.void
sectionTitle5_()
Ends a 5th title heading element.protected void
startPageSequence(java.lang.String initPageNumber, java.lang.String headerText, java.lang.String footerText)
Starts a page sequence.void
table()
Starts a table element for marking up tabular information in a document.void
table(SinkEventAttributes attributes)
Starts a table.void
table_()
Ends a table element.void
tableCaption()
Starts a caption element of a table.void
tableCaption(SinkEventAttributes attributes)
Starts a table caption.void
tableCaption_()
Ends a caption element of a table.void
tableCell()
Starts a cell element which defines a cell that contains data.void
tableCell(java.lang.String width)
Starts a cell element which defines a cell that contains data.void
tableCell(SinkEventAttributes attributes)
Starts a table cell.void
tableCell_()
Ends a cell element.void
tableHeaderCell()
Starts a cell element which defines a cell that contains header information.void
tableHeaderCell(java.lang.String width)
Starts a cell element which defines a cell that contains header information.void
tableHeaderCell(SinkEventAttributes attributes)
Starts a table header cell.void
tableHeaderCell_()
Ends a cell header 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
tableRow_()
Ends a row element.void
tableRows(int[] justification, boolean grid)
Starts an element that contains rows of table data.void
tableRows_()
Ends an element that contains rows of table data.void
text(java.lang.String text)
Adding a text.void
text(java.lang.String text, SinkEventAttributes attributes)
Adds a text.void
title()
Starts the title element.void
title(SinkEventAttributes attributes)
Starts the title element.void
title_()
Ends the title element.void
unknown(java.lang.String name, java.lang.Object[] requiredParams, SinkEventAttributes attributes)
Add an unknown event.void
verbatim(boolean boxed)
Starts an element which indicates that whitespace in the enclosed text has semantic relevance.void
verbatim(SinkEventAttributes attributes)
Starts a verbatim block, ie a block where whitespace has semantic relevance.void
verbatim_()
Ends a verbatim element.protected void
write(java.lang.String text)
Write a text to the sink.protected void
writeEmptyTag(javax.swing.text.html.HTML.Tag tag, java.lang.String attributeId)
Writes a simple tag, appending EOL.protected void
writeEmptyTag(javax.swing.text.html.HTML.Tag tag, java.lang.String id, java.lang.String name)
Writes an empty tag, prepending EOL.protected void
writeEndTag(javax.swing.text.html.HTML.Tag t)
Ends a Tag without writing an EOL.protected void
writeln(java.lang.String text)
Writes a text, appending EOL.protected void
writeStartTag(javax.swing.text.html.HTML.Tag tag, java.lang.String attributeId)
Writes a start tag, prepending EOL.protected void
writeStartTag(javax.swing.text.html.HTML.Tag tag, java.lang.String id, java.lang.String name)
Writes a start tag, prepending EOL.protected void
writeStartTag(javax.swing.text.html.HTML.Tag tag, java.lang.String id, java.lang.String name, java.lang.String attributeId)
Writes a start tag, prepending EOL.protected void
writeStartTag(javax.swing.text.html.HTML.Tag t, javax.swing.text.MutableAttributeSet att, boolean isSimpleTag)
Starts a Tag with attributes.-
Methods inherited from class org.apache.maven.doxia.sink.impl.AbstractXmlSink
getNameSpace, setInsertNewline, setNameSpace, writeEOL, writeSimpleTag, writeSimpleTag, writeStartTag, writeStartTag
-
Methods inherited from class org.apache.maven.doxia.sink.impl.SinkAdapter
section6, section6_, sectionTitle6, sectionTitle6_
-
Methods inherited from class org.apache.maven.doxia.sink.impl.AbstractSink
enableLogging, getLog, unifyEOLs
-
-
-
-
Constructor Detail
-
FoSink
protected FoSink(java.io.Writer writer)
Constructor, initialize the Writer.- Parameters:
writer
- not null writer to write the result. Should be an UTF-8 Writer. You could usenewXmlWriter
methods fromWriterFactory
.
-
FoSink
protected FoSink(java.io.Writer writer, java.lang.String encoding)
Constructor, initialize the Writer and tells which encoding is used.- Parameters:
writer
- not null writer to write the result.encoding
- the encoding used, that should be written to the generated HTML content if notnull
.
-
FoSink
protected FoSink(java.io.Writer writer, java.lang.String encoding, java.lang.String languageId)
Constructor, initialize the Writer and tells which encoding and languageId are used.- Parameters:
writer
- not null writer to write the result.encoding
- the encoding used, that should be written to the generated HTML content if notnull
.languageId
- language identifier for the root element as defined by IETF BCP 47, Tags for the Identification of Languages; in addition, the empty string may be specified.
-
-
Method Detail
-
load
public void load(java.io.File configFile) throws java.io.IOException
Load configuration parameters from a File.- Parameters:
configFile
- the configuration file.- Throws:
java.io.IOException
- if the File cannot be read or some error occurs when initializing the configuration parameters.- Since:
- 1.1.1
-
head
public 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
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
.- Specified by:
head
in interfaceSink
- Overrides:
head
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
head
public void head()
Starts the head element.- Specified by:
head
in interfaceSink
- Overrides:
head
in classSinkAdapter
- See Also:
Sink.head(SinkEventAttributes)
-
head_
public void head_()
Ends the head element.- Specified by:
head_
in interfaceSink
- Overrides:
head_
in classSinkAdapter
-
title
public void title(SinkEventAttributes attributes)
Starts the title element. This is used to identify the document.Supported attributes are the
base attributes
.- Specified by:
title
in interfaceSink
- Overrides:
title
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.- See Also:
Sink.head(SinkEventAttributes)
-
title
public void title()
Starts the title element.- Specified by:
title
in interfaceSink
- Overrides:
title
in classSinkAdapter
- See Also:
Sink.title(SinkEventAttributes)
-
title_
public void title_()
Ends the title element.- Specified by:
title_
in interfaceSink
- Overrides:
title_
in classSinkAdapter
-
author
public void author(SinkEventAttributes attributes)
Starts an author element. This is used to identify the author of the document.Supported attributes are:
EMAIL
.- Specified by:
author
in interfaceSink
- Overrides:
author
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.- See Also:
Sink.head(SinkEventAttributes)
-
author
public void author()
Starts an author element.- Specified by:
author
in interfaceSink
- Overrides:
author
in classSinkAdapter
- See Also:
Sink.author(SinkEventAttributes)
-
author_
public void author_()
Ends an author element.- Specified by:
author_
in interfaceSink
- Overrides:
author_
in classSinkAdapter
-
date
public void date(SinkEventAttributes attributes)
Starts the date element. This is used to identify the date of the document.Supported attributes are: none.
- Specified by:
date
in interfaceSink
- Overrides:
date
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.- See Also:
Sink.head(SinkEventAttributes)
-
date
public 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- YYYY is the year in the Gregorian calendar
- MM is the month of the year between 01 (January) and 12 (December)
- and DD is the day of the month between 01 and 31
- Specified by:
date
in interfaceSink
- Overrides:
date
in classSinkAdapter
- See Also:
Sink.date(SinkEventAttributes)
-
date_
public void date_()
Ends the date element.- Specified by:
date_
in interfaceSink
- Overrides:
date_
in classSinkAdapter
-
body
public void body(SinkEventAttributes attributes)
Starts the body of a document. This contains the document's content.Supported attributes are the
base attributes
.- Specified by:
body
in interfaceSink
- Overrides:
body
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.- See Also:
Sink.head(SinkEventAttributes)
-
body
public void body()
Starts the body of a document.- Specified by:
body
in interfaceSink
- Overrides:
body
in classSinkAdapter
- See Also:
Sink.body(SinkEventAttributes)
-
body_
public void body_()
Ends the body element.- Specified by:
body_
in interfaceSink
- Overrides:
body_
in classSinkAdapter
-
sectionTitle
public void sectionTitle()
Starts a title heading element.- Specified by:
sectionTitle
in interfaceSink
- Overrides:
sectionTitle
in classSinkAdapter
-
sectionTitle_
public void sectionTitle_()
Ends a title heading element.- Specified by:
sectionTitle_
in interfaceSink
- Overrides:
sectionTitle_
in classSinkAdapter
-
section
public 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
.- Specified by:
section
in interfaceSink
- Overrides:
section
in classSinkAdapter
- Parameters:
level
- the section level.attributes
- A set ofSinkEventAttributes
, may benull
.
-
section_
public void section_(int level)
Ends a section at the given level.- Specified by:
section_
in interfaceSink
- Overrides:
section_
in classSinkAdapter
- Parameters:
level
- the section level.
-
sectionTitle
public 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
plusALIGN
.- Specified by:
sectionTitle
in interfaceSink
- Overrides:
sectionTitle
in classSinkAdapter
- Parameters:
level
- the section title level.attributes
- A set ofSinkEventAttributes
, may benull
.
-
sectionTitle_
public void sectionTitle_(int level)
Ends a section title at the given level.- Specified by:
sectionTitle_
in interfaceSink
- Overrides:
sectionTitle_
in classSinkAdapter
- Parameters:
level
- the section title level.
-
section1
public void section1()
Starts a first heading element which contains the topic of the section.- Specified by:
section1
in interfaceSink
- Overrides:
section1
in classSinkAdapter
- See Also:
Sink.section(int,SinkEventAttributes)
-
sectionTitle1
public 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 aSink.section1()
element.- Specified by:
sectionTitle1
in interfaceSink
- Overrides:
sectionTitle1
in classSinkAdapter
- See Also:
Sink.sectionTitle(int,SinkEventAttributes)
-
sectionTitle1_
public void sectionTitle1_()
Ends a first title heading element.- Specified by:
sectionTitle1_
in interfaceSink
- Overrides:
sectionTitle1_
in classSinkAdapter
-
section1_
public void section1_()
Ends a first heading element.- Specified by:
section1_
in interfaceSink
- Overrides:
section1_
in classSinkAdapter
-
section2
public void section2()
Starts a second heading element which contains the topic of the section. This has to be contained within aSink.section1()
element.- Specified by:
section2
in interfaceSink
- Overrides:
section2
in classSinkAdapter
- See Also:
Sink.section(int,SinkEventAttributes)
-
sectionTitle2
public 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 aSink.section2()
element.- Specified by:
sectionTitle2
in interfaceSink
- Overrides:
sectionTitle2
in classSinkAdapter
- See Also:
Sink.sectionTitle(int,SinkEventAttributes)
-
sectionTitle2_
public void sectionTitle2_()
Ends a second title heading element.- Specified by:
sectionTitle2_
in interfaceSink
- Overrides:
sectionTitle2_
in classSinkAdapter
-
section2_
public void section2_()
Ends a second heading element.- Specified by:
section2_
in interfaceSink
- Overrides:
section2_
in classSinkAdapter
-
section3
public void section3()
Starts a third heading element which contains the topic of the section. This has to be contained within aSink.section2()
element.- Specified by:
section3
in interfaceSink
- Overrides:
section3
in classSinkAdapter
- See Also:
Sink.section(int,SinkEventAttributes)
-
sectionTitle3
public 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 aSink.section3()
element.- Specified by:
sectionTitle3
in interfaceSink
- Overrides:
sectionTitle3
in classSinkAdapter
- See Also:
Sink.sectionTitle(int,SinkEventAttributes)
-
sectionTitle3_
public void sectionTitle3_()
Ends a third title heading element.- Specified by:
sectionTitle3_
in interfaceSink
- Overrides:
sectionTitle3_
in classSinkAdapter
-
section3_
public void section3_()
Ends a third heading element.- Specified by:
section3_
in interfaceSink
- Overrides:
section3_
in classSinkAdapter
-
section4
public void section4()
Starts a 4th heading element which contains the topic of the section. This has to be contained within aSink.section3()
element.- Specified by:
section4
in interfaceSink
- Overrides:
section4
in classSinkAdapter
- See Also:
Sink.section(int,SinkEventAttributes)
-
sectionTitle4
public 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 aSink.section4()
element.- Specified by:
sectionTitle4
in interfaceSink
- Overrides:
sectionTitle4
in classSinkAdapter
- See Also:
Sink.sectionTitle(int,SinkEventAttributes)
-
sectionTitle4_
public void sectionTitle4_()
Ends a 4th title heading element.- Specified by:
sectionTitle4_
in interfaceSink
- Overrides:
sectionTitle4_
in classSinkAdapter
-
section4_
public void section4_()
Ends a 4th heading element.- Specified by:
section4_
in interfaceSink
- Overrides:
section4_
in classSinkAdapter
-
section5
public void section5()
Starts a 5th heading element which contains the topic of the section. This has to be contained within aSink.section4()
element.- Specified by:
section5
in interfaceSink
- Overrides:
section5
in classSinkAdapter
- See Also:
Sink.section(int,SinkEventAttributes)
-
sectionTitle5
public 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 aSink.section5()
element.- Specified by:
sectionTitle5
in interfaceSink
- Overrides:
sectionTitle5
in classSinkAdapter
- See Also:
Sink.sectionTitle(int,SinkEventAttributes)
-
sectionTitle5_
public void sectionTitle5_()
Ends a 5th title heading element.- Specified by:
sectionTitle5_
in interfaceSink
- Overrides:
sectionTitle5_
in classSinkAdapter
-
section5_
public void section5_()
Ends a 5th heading element.- Specified by:
section5_
in interfaceSink
- Overrides:
section5_
in classSinkAdapter
-
resetSectionCounter
protected void resetSectionCounter()
Resets the section counter to 0. Only useful for overriding classes, like AggregateSink, the FoSink puts everything into one chapter.
-
getChapterString
protected java.lang.String getChapterString()
Returns the current chapter number as a string. By default does nothing, gets overridden by AggregateSink.- Returns:
- an empty String.
-
list
public void list(SinkEventAttributes attributes)
Starts an unordered list.Supported attributes are the
base attributes
.- Specified by:
list
in interfaceSink
- Overrides:
list
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
list
public void list()
Starts an unordered list element.- Specified by:
list
in interfaceSink
- Overrides:
list
in classSinkAdapter
- See Also:
Sink.list(SinkEventAttributes)
-
list_
public void list_()
Ends an unordered list element.- Specified by:
list_
in interfaceSink
- Overrides:
list_
in classSinkAdapter
-
listItem
public void listItem(SinkEventAttributes attributes)
Starts a list item element within an unordered list.Supported attributes are the
base attributes
.- Specified by:
listItem
in interfaceSink
- Overrides:
listItem
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
listItem
public void listItem()
Starts a list item element within an unordered list.- Specified by:
listItem
in interfaceSink
- Overrides:
listItem
in classSinkAdapter
- See Also:
Sink.listItem(SinkEventAttributes)
-
listItem_
public void listItem_()
Ends a list item element within an unordered list.- Specified by:
listItem_
in interfaceSink
- Overrides:
listItem_
in classSinkAdapter
-
numberedList
public void numberedList(int numbering, SinkEventAttributes attributes)
Starts an ordered list element.Supported attributes are the
base attributes
.- Specified by:
numberedList
in interfaceSink
- Overrides:
numberedList
in classSinkAdapter
- Parameters:
numbering
- the numbering style.attributes
- A set ofSinkEventAttributes
, may benull
.- See Also:
Sink.NUMBERING_DECIMAL
,Sink.NUMBERING_LOWER_ALPHA
,Sink.NUMBERING_LOWER_ROMAN
,Sink.NUMBERING_UPPER_ALPHA
,Sink.NUMBERING_UPPER_ROMAN
-
numberedList
public void numberedList(int numbering)
Starts an ordered list element.- Specified by:
numberedList
in interfaceSink
- Overrides:
numberedList
in classSinkAdapter
- Parameters:
numbering
- the numbering style.- See Also:
Sink.numberedList(int,SinkEventAttributes)
-
numberedList_
public void numberedList_()
Ends an ordered list element.- Specified by:
numberedList_
in interfaceSink
- Overrides:
numberedList_
in classSinkAdapter
-
numberedListItem
public void numberedListItem(SinkEventAttributes attributes)
Starts a list item element within an ordered list.Supported attributes are the
base attributes
.- Specified by:
numberedListItem
in interfaceSink
- Overrides:
numberedListItem
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
numberedListItem
public void numberedListItem()
Starts a list item element within an ordered list.- Specified by:
numberedListItem
in interfaceSink
- Overrides:
numberedListItem
in classSinkAdapter
- See Also:
Sink.numberedListItem(SinkEventAttributes)
-
numberedListItem_
public void numberedListItem_()
Ends a list item element within an ordered list.- Specified by:
numberedListItem_
in interfaceSink
- Overrides:
numberedListItem_
in classSinkAdapter
-
definitionList
public void definitionList(SinkEventAttributes attributes)
Starts a definition list.Supported attributes are the
base attributes
.- Specified by:
definitionList
in interfaceSink
- Overrides:
definitionList
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
definitionList
public void definitionList()
Starts a definition list element.- Specified by:
definitionList
in interfaceSink
- Overrides:
definitionList
in classSinkAdapter
- See Also:
Sink.definitionList(SinkEventAttributes)
-
definitionList_
public void definitionList_()
Ends a definition list element.- Specified by:
definitionList_
in interfaceSink
- Overrides:
definitionList_
in classSinkAdapter
-
definitionListItem
public void definitionListItem(SinkEventAttributes attributes)
Starts a list item element within a definition list.Every definitionListItem has to contain exactly one
Sink.definedTerm(SinkEventAttributes)
and oneSink.definition(SinkEventAttributes)
, in this order.Supported attributes are the
base attributes
.- Specified by:
definitionListItem
in interfaceSink
- Overrides:
definitionListItem
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
definitionListItem
public void definitionListItem()
Starts a list item element within a definition list.- Specified by:
definitionListItem
in interfaceSink
- Overrides:
definitionListItem
in classSinkAdapter
- See Also:
Sink.definitionListItem(SinkEventAttributes)
-
definitionListItem_
public void definitionListItem_()
Ends a list item element within a definition list.- Specified by:
definitionListItem_
in interfaceSink
- Overrides:
definitionListItem_
in classSinkAdapter
-
definedTerm
public void definedTerm(SinkEventAttributes attributes)
Starts a definition term element within a definition list.Supported attributes are the
base attributes
.- Specified by:
definedTerm
in interfaceSink
- Overrides:
definedTerm
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
definedTerm
public void definedTerm()
Starts a definition term element within a definition list.- Specified by:
definedTerm
in interfaceSink
- Overrides:
definedTerm
in classSinkAdapter
- See Also:
Sink.definedTerm(SinkEventAttributes)
-
definedTerm_
public void definedTerm_()
Starts a definition term element within a definition list.- Specified by:
definedTerm_
in interfaceSink
- Overrides:
definedTerm_
in classSinkAdapter
-
definition
public void definition(SinkEventAttributes attributes)
Starts a definition element within a definition list.Supported attributes are the
base attributes
.- Specified by:
definition
in interfaceSink
- Overrides:
definition
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
definition
public void definition()
Starts a definition element within a definition list.- Specified by:
definition
in interfaceSink
- Overrides:
definition
in classSinkAdapter
- See Also:
Sink.definition(SinkEventAttributes)
-
definition_
public void definition_()
Ends a definition element within a definition list.- Specified by:
definition_
in interfaceSink
- Overrides:
definition_
in classSinkAdapter
-
figure
public 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
.- Specified by:
figure
in interfaceSink
- Overrides:
figure
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
figure
public void figure()
Starts a basic image embedding element.- Specified by:
figure
in interfaceSink
- Overrides:
figure
in classSinkAdapter
- See Also:
Sink.figure(SinkEventAttributes)
-
figure_
public void figure_()
Ends a basic image embedding element.- Specified by:
figure_
in interfaceSink
- Overrides:
figure_
in classSinkAdapter
-
figureGraphics
public void figureGraphics(java.lang.String name)
Adding a source of a graphic.- Specified by:
figureGraphics
in interfaceSink
- Overrides:
figureGraphics
in classSinkAdapter
- Parameters:
name
- the source
-
figureGraphics
public void figureGraphics(java.lang.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 thesrc
parameter.- Specified by:
figureGraphics
in interfaceSink
- Overrides:
figureGraphics
in classSinkAdapter
- Parameters:
src
- the image source, a valid URL.attributes
- A set ofSinkEventAttributes
, may benull
.- See Also:
Sink.figure(SinkEventAttributes)
-
isFigure
protected boolean isFigure()
Flags if we are inside a figure.
-
figureCaption
public void figureCaption(SinkEventAttributes attributes)
Starts a figure caption.Supported attributes are the
base attributes
.- Specified by:
figureCaption
in interfaceSink
- Overrides:
figureCaption
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.- See Also:
Sink.figure(SinkEventAttributes)
-
figureCaption
public void figureCaption()
Starts a caption of an image element.- Specified by:
figureCaption
in interfaceSink
- Overrides:
figureCaption
in classSinkAdapter
- See Also:
Sink.figureCaption(SinkEventAttributes)
-
figureCaption_
public void figureCaption_()
Ends a caption of an image.- Specified by:
figureCaption_
in interfaceSink
- Overrides:
figureCaption_
in classSinkAdapter
-
paragraph
public void paragraph()
Starts an element which represents a paragraph.- Specified by:
paragraph
in interfaceSink
- Overrides:
paragraph
in classSinkAdapter
- See Also:
Sink.paragraph(SinkEventAttributes)
-
paragraph
public void paragraph(SinkEventAttributes attributes)
Starts a paragraph.Supported attributes are the
base attributes
plusALIGN
.- Specified by:
paragraph
in interfaceSink
- Overrides:
paragraph
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
paragraph_
public void paragraph_()
Ends a paragraph element.- Specified by:
paragraph_
in interfaceSink
- Overrides:
paragraph_
in classSinkAdapter
-
verbatim
public 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
.- Specified by:
verbatim
in interfaceSink
- Overrides:
verbatim
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
verbatim
public void verbatim(boolean boxed)
Starts an element which indicates that whitespace in the enclosed text has semantic relevance.- Specified by:
verbatim
in interfaceSink
- Overrides:
verbatim
in classSinkAdapter
- Parameters:
boxed
- true to add a box, false otherwise
-
verbatim_
public void verbatim_()
Ends a verbatim element.- Specified by:
verbatim_
in interfaceSink
- Overrides:
verbatim_
in classSinkAdapter
-
horizontalRule
public void horizontalRule(SinkEventAttributes attributes)
Adds a horizontal separator rule.Supported attributes are the
base attributes
plus:ALIGN
,NOSHADE
,SIZE
,WIDTH
.- Specified by:
horizontalRule
in interfaceSink
- Overrides:
horizontalRule
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
horizontalRule
public void horizontalRule()
Adding a separator of sections from a text to each other.- Specified by:
horizontalRule
in interfaceSink
- Overrides:
horizontalRule
in classSinkAdapter
- See Also:
Sink.horizontalRule(SinkEventAttributes)
-
pageBreak
public void pageBreak()
Adding a new page separator.- Specified by:
pageBreak
in interfaceSink
- Overrides:
pageBreak
in classSinkAdapter
-
table
public 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
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
.- Specified by:
table
in interfaceSink
- Overrides:
table
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
table
public void table()
Starts a table element for marking up tabular information in a document.- Specified by:
table
in interfaceSink
- Overrides:
table
in classSinkAdapter
- See Also:
Sink.table(SinkEventAttributes)
-
table_
public void table_()
Ends a table element.- Specified by:
table_
in interfaceSink
- Overrides:
table_
in classSinkAdapter
-
tableRows
public void tableRows(int[] justification, boolean grid)
Starts an element that contains rows of table data.- Specified by:
tableRows
in interfaceSink
- Overrides:
tableRows
in classSinkAdapter
- 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:
Sink.table(SinkEventAttributes)
,Sink.JUSTIFY_CENTER
,Sink.JUSTIFY_LEFT
,Sink.JUSTIFY_RIGHT
-
tableRows_
public void tableRows_()
Ends an element that contains rows of table data.- Specified by:
tableRows_
in interfaceSink
- Overrides:
tableRows_
in classSinkAdapter
-
tableRow
public void tableRow(SinkEventAttributes attributes)
Starts a table row.Supported attributes are the
base attributes
plus:ALIGN
,BGCOLOR
,VALIGN
.- Specified by:
tableRow
in interfaceSink
- Overrides:
tableRow
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
tableRow
public void tableRow()
Starts a row element which acts as a container for a row of table cells.- Specified by:
tableRow
in interfaceSink
- Overrides:
tableRow
in classSinkAdapter
- See Also:
Sink.tableRow(SinkEventAttributes)
-
tableRow_
public void tableRow_()
Ends a row element.- Specified by:
tableRow_
in interfaceSink
- Overrides:
tableRow_
in classSinkAdapter
-
tableCell
public 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
.- Specified by:
tableCell
in interfaceSink
- Overrides:
tableCell
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
tableCell
public void tableCell()
Starts a cell element which defines a cell that contains data.- Specified by:
tableCell
in interfaceSink
- Overrides:
tableCell
in classSinkAdapter
- See Also:
Sink.tableCell(SinkEventAttributes)
-
tableCell
public void tableCell(java.lang.String width)
Starts a cell element which defines a cell that contains data.- Specified by:
tableCell
in interfaceSink
- Overrides:
tableCell
in classSinkAdapter
- Parameters:
width
- the size of the cell.
-
tableHeaderCell
public void tableHeaderCell(SinkEventAttributes attributes)
Starts a table header cell.Supported attributes are the same as for
tableCell
.- Specified by:
tableHeaderCell
in interfaceSink
- Overrides:
tableHeaderCell
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
tableHeaderCell
public void tableHeaderCell()
Starts a cell element which defines a cell that contains header information.- Specified by:
tableHeaderCell
in interfaceSink
- Overrides:
tableHeaderCell
in classSinkAdapter
- See Also:
Sink.tableHeaderCell(SinkEventAttributes)
-
tableHeaderCell
public void tableHeaderCell(java.lang.String width)
Starts a cell element which defines a cell that contains header information.- Specified by:
tableHeaderCell
in interfaceSink
- Overrides:
tableHeaderCell
in classSinkAdapter
- Parameters:
width
- the size of the header cell.
-
tableCell_
public void tableCell_()
Ends a cell element.- Specified by:
tableCell_
in interfaceSink
- Overrides:
tableCell_
in classSinkAdapter
-
tableHeaderCell_
public void tableHeaderCell_()
Ends a cell header element.- Specified by:
tableHeaderCell_
in interfaceSink
- Overrides:
tableHeaderCell_
in classSinkAdapter
-
tableCaption
public void tableCaption(SinkEventAttributes attributes)
Starts a table caption.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
plusALIGN
.- Specified by:
tableCaption
in interfaceSink
- Overrides:
tableCaption
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.- See Also:
Sink.table(SinkEventAttributes)
-
tableCaption
public void tableCaption()
Starts a caption element of a table.- Specified by:
tableCaption
in interfaceSink
- Overrides:
tableCaption
in classSinkAdapter
- See Also:
Sink.tableCaption(SinkEventAttributes)
-
tableCaption_
public void tableCaption_()
Ends a caption element of a table.- Specified by:
tableCaption_
in interfaceSink
- Overrides:
tableCaption_
in classSinkAdapter
-
anchor
public void anchor(java.lang.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
. IfNAME
is specified in the SinkEventAttributes, it will be overwritten by thename
parameter.- Specified by:
anchor
in interfaceSink
- Overrides:
anchor
in classSinkAdapter
- Parameters:
name
- the name of the anchor. This has to be a valid SGML NAME token.attributes
- A set ofSinkEventAttributes
, may benull
.
-
anchor
public void anchor(java.lang.String name)
Starts an element which defines an anchor.- Specified by:
anchor
in interfaceSink
- Overrides:
anchor
in classSinkAdapter
- Parameters:
name
- the name of the anchor.- See Also:
Sink.anchor(String,SinkEventAttributes)
-
anchor_
public void anchor_()
Ends an anchor element.- Specified by:
anchor_
in interfaceSink
- Overrides:
anchor_
in classSinkAdapter
-
link
public void link(java.lang.String name, SinkEventAttributes attributes)
Starts a link.The
name
parameter has to be a valid htmlhref
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 thename
parameter.- Specified by:
link
in interfaceSink
- Overrides:
link
in classSinkAdapter
- Parameters:
name
- the name of the link.attributes
- A set ofSinkEventAttributes
, may benull
.
-
link
public void link(java.lang.String name)
Starts an element which defines a link.- Specified by:
link
in interfaceSink
- Overrides:
link
in classSinkAdapter
- Parameters:
name
- the name of the link.- See Also:
Sink.link(String,SinkEventAttributes)
-
link_
public void link_()
Ends a link element.- Specified by:
link_
in interfaceSink
- Overrides:
link_
in classSinkAdapter
-
italic
public void italic()
Starts an italic element. Alternatively one may useSink.text(String,SinkEventAttributes)
withSTYLE
instead.- Specified by:
italic
in interfaceSink
- Overrides:
italic
in classSinkAdapter
-
italic_
public void italic_()
Ends an italic element. Alternatively one may useSink.text(String,SinkEventAttributes)
withSTYLE
instead.- Specified by:
italic_
in interfaceSink
- Overrides:
italic_
in classSinkAdapter
-
bold
public void bold()
Starts a bold element. Alternatively one may useSink.text(String,SinkEventAttributes)
withSTYLE
instead.- Specified by:
bold
in interfaceSink
- Overrides:
bold
in classSinkAdapter
-
bold_
public void bold_()
Ends a bold element. Alternatively one may useSink.text(String,SinkEventAttributes)
withSTYLE
instead.- Specified by:
bold_
in interfaceSink
- Overrides:
bold_
in classSinkAdapter
-
monospaced
public void monospaced()
Starts a monospaced element. Alternatively one may useSink.text(String,SinkEventAttributes)
withSTYLE
instead.- Specified by:
monospaced
in interfaceSink
- Overrides:
monospaced
in classSinkAdapter
-
monospaced_
public void monospaced_()
Ends a monospaced element. Alternatively one may useSink.text(String,SinkEventAttributes)
withSTYLE
instead.- Specified by:
monospaced_
in interfaceSink
- Overrides:
monospaced_
in classSinkAdapter
-
lineBreak
public void lineBreak(SinkEventAttributes attributes)
- Specified by:
lineBreak
in interfaceSink
- Overrides:
lineBreak
in classSinkAdapter
- Parameters:
attributes
- A set ofSinkEventAttributes
, may benull
.
-
lineBreak
public void lineBreak()
Adds a line break.- Specified by:
lineBreak
in interfaceSink
- Overrides:
lineBreak
in classSinkAdapter
- See Also:
Sink.lineBreak(SinkEventAttributes)
-
nonBreakingSpace
public void nonBreakingSpace()
Adding a non breaking space, ie a space without any special formatting operations.- Specified by:
nonBreakingSpace
in interfaceSink
- Overrides:
nonBreakingSpace
in classSinkAdapter
-
text
public void text(java.lang.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
plusVALIGN
(values "sub", "sup"),DECORATION
(values "underline", "overline", "line-through"),STYLE
(values "italic", "bold", "monospaced").- Specified by:
text
in interfaceSink
- Overrides:
text
in classSinkAdapter
- Parameters:
text
- The text to write.attributes
- A set ofSinkEventAttributes
, may benull
.
-
text
public void text(java.lang.String text)
Adding a text.- Specified by:
text
in interfaceSink
- Overrides:
text
in classSinkAdapter
- Parameters:
text
- The text to write.- See Also:
Sink.text(String,SinkEventAttributes)
-
rawText
public void rawText(java.lang.String text)
Adding a raw text, ie a text without any special formatting operations.- Specified by:
rawText
in interfaceSink
- Overrides:
rawText
in classSinkAdapter
- Parameters:
text
- The text to write.
-
flush
public void flush()
Flush the writer or the stream, if needed. Flushing a previously-flushed Sink has no effect.- Specified by:
flush
in interfaceSink
- Overrides:
flush
in classSinkAdapter
-
close
public void close()
Close the writer or the stream, if needed. Closing a previously-closed Sink has no effect.- Specified by:
close
in interfaceSink
- Overrides:
close
in classSinkAdapter
-
unknown
public void unknown(java.lang.String name, java.lang.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. Unkown events just log a warning message but are ignored otherwise.- Specified by:
unknown
in interfaceSink
- Overrides:
unknown
in classSinkAdapter
- Parameters:
name
- The name of the event.requiredParams
- An optional array of required parameters to the event. May benull
.attributes
- A set ofSinkEventAttributes
, may benull
.- See Also:
Sink.unknown(String,Object[],SinkEventAttributes)
-
comment
public void comment(java.lang.String comment)
Add a comment.- Specified by:
comment
in interfaceSink
- Overrides:
comment
in classSinkAdapter
- Parameters:
comment
- The comment to write.
-
beginDocument
public void beginDocument()
Writes the beginning of a FO document.
-
endDocument
public void endDocument()
Writes the end of a FO document, flushes and closes the stream.
-
getFoConfiguration
protected FoConfiguration getFoConfiguration()
Returns the configuration object of this sink.- Returns:
- The configuration object of this sink.
-
writeStartTag
protected void writeStartTag(javax.swing.text.html.HTML.Tag tag, java.lang.String attributeId)
Writes a start tag, prepending EOL.- Parameters:
tag
- The tag.attributeId
- An id identifying the attribute set.
-
writeStartTag
protected void writeStartTag(javax.swing.text.html.HTML.Tag tag, java.lang.String id, java.lang.String name)
Writes a start tag, prepending EOL.- Parameters:
tag
- The tag.id
- An id to add.name
- The name (value) of the id.
-
writeStartTag
protected void writeStartTag(javax.swing.text.html.HTML.Tag tag, java.lang.String id, java.lang.String name, java.lang.String attributeId)
Writes a start tag, prepending EOL.- Parameters:
tag
- The tag.id
- An id to add.name
- The name (value) of the id.attributeId
- An id identifying the attribute set.
-
writeEmptyTag
protected void writeEmptyTag(javax.swing.text.html.HTML.Tag tag, java.lang.String id, java.lang.String name)
Writes an empty tag, prepending EOL.- Parameters:
tag
- The tag.id
- An id to add.name
- The name (value) of the id.
-
writeEmptyTag
protected void writeEmptyTag(javax.swing.text.html.HTML.Tag tag, java.lang.String attributeId)
Writes a simple tag, appending EOL.- Parameters:
tag
- The tag name.attributeId
- An id identifying the attribute set.
-
write
protected void write(java.lang.String text)
Write a text to the sink. Writes a text, swallowing any exceptions.- Specified by:
write
in classAbstractXmlSink
- Parameters:
text
- the given text to write
-
writeln
protected void writeln(java.lang.String text)
Writes a text, appending EOL.- Parameters:
text
- The text to write.
-
content
protected void content(java.lang.String text)
Writes content, escaping special characters.- Parameters:
text
- The text to write.
-
escaped
public static java.lang.String escaped(java.lang.String text, boolean verb)
Escapes special characters so that the text can be included in a fo file.- Parameters:
text
- The text to process.verb
- In verbatim mode, white space and newlines are escaped.- Returns:
- The text with special characters escaped.
-
writeStartTag
protected void writeStartTag(javax.swing.text.html.HTML.Tag t, javax.swing.text.MutableAttributeSet att, boolean isSimpleTag)
Starts a Tag with attributes. For instance:<tag attName="attValue">
- Overrides:
writeStartTag
in classAbstractXmlSink
- Parameters:
t
- a non null tag.att
- a set of attributes. May be null.isSimpleTag
- boolean to write as a simple tag.
-
writeEndTag
protected void writeEndTag(javax.swing.text.html.HTML.Tag t)
Ends a Tag without writing an EOL. For instance:</tag>
.- Overrides:
writeEndTag
in classAbstractXmlSink
- Parameters:
t
- a tag.
-
startPageSequence
protected void startPageSequence(java.lang.String initPageNumber, java.lang.String headerText, java.lang.String footerText)
Starts a page sequence.- Parameters:
initPageNumber
- The initial page number. Should be either "0" (for the first page) or "auto".headerText
- The text to write in the header, if null, nothing is written.footerText
- The text to write in the footer, if null, nothing is written.
-
regionBefore
protected void regionBefore(java.lang.String headerText)
Writes a 'xsl-region-before' block.- Parameters:
headerText
- The text to write in the header, if null, nothing is written.
-
regionAfter
protected void regionAfter(java.lang.String footerText)
Writes a 'xsl-region-after' block. By default does nothing, gets overridden by AggregateSink.- Parameters:
footerText
- The text to write in the footer, if null, nothing is written.
-
chapterHeading
protected void chapterHeading(java.lang.String headerText, boolean chapterNumber)
Writes a chapter heading. By default does nothing, gets overridden by AggregateSink.- Parameters:
headerText
- The text to write in the header, if null, the current document title is written.chapterNumber
- True if the chapter number should be written in front of the text.
-
pdfBookmarks
protected void pdfBookmarks()
Writes a fo:bookmark-tree. By default does nothing, gets overridden by AggregateSink.
-
logMessage
protected void logMessage(java.lang.String key, java.lang.String msg)
If debug mode is enabled, log themsg
as is, otherwise add unique msg inwarnMessages
.- Parameters:
key
- not nullmsg
- not null- Since:
- 1.1.1
- See Also:
close()
-
init
protected void init()
This is called inSink.head()
or inSink.close()
, and can be used to set the sink into a clear state so it can be re-used.- Overrides:
init
in classAbstractSink
-
-