Class LatexSink
- All Implemented Interfaces:
LogEnabled,Markup,TextMarkup,Sink
Note: The encoding used is UTF-8.
- Since:
- 1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate int[]private booleanprivate final booleanFlag that indicates if the document to be written is only a fragment.private booleanprivate booleanKeep track of the closing tags for inline events.private booleanprivate booleanprivate intprivate final LineBreakerprivate final Stringprivate final Stringprivate booleanprivate Stringprivate booleanprivate booleanFields 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, STARFields 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_6Fields inherited from interface org.apache.maven.doxia.markup.TextMarkup
PIPE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor, initialize the Writer and the variables.protectedConstructor, initialize the Writer and the variables.protectedConstructor, initialize the Writer and the variables. -
Method Summary
Modifier and TypeMethodDescriptionvoidStarts an element which defines an anchor.voidanchor(String name, SinkEventAttributes attributes) Starts an element which defines an anchor.voidanchor_()Ends an anchor element.voidauthor()Starts an author element.voidauthor(SinkEventAttributes attributes) Starts an author element.voidauthor_()Ends an author element.voidbody()Starts the body of a document.voidbody(SinkEventAttributes attributes) Starts the body of a document.voidbody_()Ends the body element.voidbold()Starts a bold element.voidbold_()Ends a bold element.voidclose()Close the writer or the stream, if needed.voidAdd a comment.protected voidWrites the text, without preserving whitespace.voiddate()Starts the date element.voiddate(SinkEventAttributes attributes) Starts the date element.voiddate_()Ends the date element.protected StringReturns the default preamble.protected StringReturns the default sink commands.voidStarts a definition term element within a definition list.voiddefinedTerm(SinkEventAttributes attributes) Starts a definition term element within a definition list.voidEnds a definition term element within a definition list.voidStarts a definition element within a definition list.voiddefinition(SinkEventAttributes attributes) Starts a definition element within a definition list.voidEnds a definition element within a definition list.voidStarts a definition list element.voiddefinitionList(SinkEventAttributes attributes) Starts a definition list.voidEnds a definition list element.voidStarts a list item element within a definition list.voiddefinitionListItem(SinkEventAttributes attributes) Starts a list item element within a definition list.voidEnds a list item element within a definition list.static StringEscapes special characters.voidfigure()Starts a basic image embedding element.voidfigure(SinkEventAttributes attributes) Starts a basic image embedding element.voidfigure_()Ends a basic image embedding element.voidStarts a caption of an image element.voidfigureCaption(SinkEventAttributes attributes) Starts a figure caption.voidEnds a caption of an image.voidfigureGraphics(String name) Adding a source of a graphic.voidfigureGraphics(String src, SinkEventAttributes attributes) Adds a graphic element.voidflush()Flush the writer or the stream, if needed.private static InputStreamReturns the default preamble from a resource.private static InputStreamReturns the default sink commands from a resource.protected StringReturns a default \begin{document} declaration.protected StringReturns a default \end{document} declaration.protected StringReturns a default \documentclass declaration.voidhead()Starts the head element.voidhead(SinkEventAttributes attributes) Starts the head element.voidAdding a separator of sections from a text to each other.voidhorizontalRule(SinkEventAttributes attributes) Adds a horizontal separator rule.protected voidinit()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.voidinline()Starts an inline element.voidinline(SinkEventAttributes attributes) Starts an inline element.voidinline_()Ends an inline element.voiditalic()Starts an italic element.voiditalic_()Ends an italic element.voidAdds a line break.voidlineBreak(SinkEventAttributes attributes) Adds a line break.voidStarts an element which defines a link.voidlink(String name, SinkEventAttributes attributes) Starts a link.voidlink_()Ends a link element.voidlist()Starts an unordered list element.voidlist(SinkEventAttributes attributes) Starts an unordered list.voidlist_()Ends an unordered list element.voidlistItem()Starts a list item element within an unordered list.voidlistItem(SinkEventAttributes attributes) Starts a list item element within an unordered list.protected voidWrites the text, preserving whitespace.voidStarts a monospaced element.voidEnds a monospaced element.voidAdding a non breaking space, ie a space without any special formatting operations.voidnumberedList(int numbering) Starts an ordered list element.voidnumberedList(int numbering, SinkEventAttributes attributes) Starts an ordered list element.voidEnds an ordered list element.voidStarts a list item element within an ordered list.voidnumberedListItem(SinkEventAttributes attributes) Starts a list item element within an ordered list.voidAdding a new page separator.voidStarts an element which represents a paragraph.voidparagraph(SinkEventAttributes attributes) Starts a paragraph.voidEnds a paragraph element.voidAdding a raw text, ie a text without any special formatting operations.voidsectionTitle(int level, SinkEventAttributes attributes) Start a new section title at the given level.voidsectionTitle_(int level) Ends a section title at the given level.voidStarts a first title heading element.voidEnds a first title heading element.voidStarts a second title heading element.voidEnds a second title heading element.voidStarts a third title heading element.voidEnds a third title heading element.voidStarts a 4th title heading element.voidEnds a 4th title heading element.voidStarts a 5th title heading element.voidEnds a 5th title heading element.voidtable()Starts a table element for marking up tabular information in a document.voidtable(SinkEventAttributes attributes) Starts a table.voidtable_()Ends a table element.voidStarts a caption element of a table.voidtableCaption(SinkEventAttributes attributes) Starts a table caption.voidEnds a caption element of a table.voidStarts a cell element which defines a cell that contains data.private voidtableCell(boolean header) Starts a table cell.voidStarts a cell element which defines a cell that contains data.voidtableCell(SinkEventAttributes attributes) Starts a table cell.voidEnds a cell element.voidStarts a cell element which defines a cell that contains header information.voidtableHeaderCell(String width) Starts a cell element which defines a cell that contains header information.voidtableHeaderCell(SinkEventAttributes attributes) Starts a table header cell.voidEnds a cell header element.voidtableRow()Starts a row element which acts as a container for a row of table cells.voidtableRow(SinkEventAttributes attributes) Starts a table row.voidEnds a row element.voidtableRows(int[] justification, boolean grid) Starts an element that contains rows of table data.voidEnds an element that contains rows of table data.voidAdding a text.voidtext(String text, SinkEventAttributes attributes) Adds a text.voidtitle()Starts the title element.voidtitle(SinkEventAttributes attributes) Starts the title element.voidtitle_()Ends the title element.voidunknown(String name, Object[] requiredParams, SinkEventAttributes attributes) Add an unknown event.voidverbatim(boolean boxed) Starts an element which indicates that whitespace in the enclosed text has semantic relevance.voidverbatim(SinkEventAttributes attributes) Starts a verbatim block, ie a block where whitespace has semantic relevance.voidEnds a verbatim element.protected voidverbatimContent(String text) Writes the text, preserving whitespace.Methods inherited from class org.apache.maven.doxia.sink.impl.SinkAdapter
address, address, address_, article, article, article_, blockquote, blockquote, blockquote_, content, content, content_, data, data, data_, division, division, division_, footer, footer, footer_, head_, header, header, header_, lineBreakOpportunity, lineBreakOpportunity, listItem_, navigation, navigation, navigation_, numberedListItem_, section, section_, section1, section1_, section2, section2_, section3, section3_, section4, section4_, section5, section5_, section6, section6_, sectionTitle, sectionTitle_, sectionTitle6, sectionTitle6_, sidebar, sidebar, sidebar_, time, time, time_Methods inherited from class org.apache.maven.doxia.sink.impl.AbstractSink
enableLogging, getLog, unifyEOLs
-
Field Details
-
fragmentDocument
private final boolean fragmentDocumentFlag that indicates if the document to be written is only a fragment. This implies that\\begin{document},\\title{..}will not be output. -
ignoreText
private boolean ignoreText -
out
-
sinkCommands
-
preamble
-
titleFlag
private boolean titleFlag -
numberedListNesting
private int numberedListNesting -
verbatimFlag
private boolean verbatimFlag -
figureFlag
private boolean figureFlag -
tableFlag
private boolean tableFlag -
gridFlag
private boolean gridFlag -
cellJustif
private int[] cellJustif -
cellCount
private int cellCount -
isTitle
private boolean isTitle -
title
-
inlineStack
Keep track of the closing tags for inline events. -
lastCellWasHeader
private boolean lastCellWasHeader
-
-
Constructor Details
-
LatexSink
Constructor, initialize the Writer and the variables.- Parameters:
out- not null writer to write the result. Should be an UTF-8 Writer. You could usenewWritermethods fromWriterFactory.
-
LatexSink
Constructor, initialize the Writer and the variables.- Parameters:
out- not null writer to write the result. Should be an UTF-8 Writer. You could usenewWritermethods fromWriterFactory.sinkCommands- A String representation of commands that go before \documentclass.preamble- A String representation of commands that go between \documentclass and \begin{document}.
-
LatexSink
Constructor, initialize the Writer and the variables.- Parameters:
out- not null writer to write the result. Should be an UTF-8 Writer. You could usenewWritermethods fromWriterFactory.sinkCommands- A String representation of commands that go before \documentclass.preamble- A String representation of commands that go between \documentclass and \begin{document}.fragmentDocument- If this receives events that that are only part of a document. Typically, headers are omitted if this is true.
-
-
Method Details
-
getDocumentStart
Returns a default \documentclass declaration.- Returns:
- String.
-
getDocumentBegin
Returns a default \begin{document} declaration.- Returns:
- String.
-
getDocumentEnd
Returns a default \end{document} declaration.- Returns:
- String.
-
head
public void head()Starts the head element.- Specified by:
headin interfaceSink- Overrides:
headin classSinkAdapter- See Also:
-
head
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:
headin interfaceSink- Overrides:
headin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
body
public void body()Starts the body of a document.- Specified by:
bodyin interfaceSink- Overrides:
bodyin classSinkAdapter- See Also:
-
body
Starts the body of a document. This contains the document's content.Supported attributes are the
base attributes.- Specified by:
bodyin interfaceSink- Overrides:
bodyin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
-
body_
public void body_()Ends the body element.- Specified by:
body_in interfaceSink- Overrides:
body_in classSinkAdapter
-
title
public void title()Starts the title element.- Specified by:
titlein interfaceSink- Overrides:
titlein classSinkAdapter- See Also:
-
title
Starts the title element. This is used to identify the document.Supported attributes are the
base attributes.- Specified by:
titlein interfaceSink- Overrides:
titlein classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
-
title_
public void title_()Ends the title element.- Specified by:
title_in interfaceSink- Overrides:
title_in classSinkAdapter
-
author
public void author()Starts an author element.- Specified by:
authorin interfaceSink- Overrides:
authorin classSinkAdapter- See Also:
-
author
Starts an author element. This is used to identify the author of the document.Supported attributes are:
EMAIL.- Specified by:
authorin interfaceSink- Overrides:
authorin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
-
author_
public void author_()Ends an author element.- Specified by:
author_in interfaceSink- Overrides:
author_in classSinkAdapter
-
date
public void date()Starts the date element.- Specified by:
datein interfaceSink- Overrides:
datein classSinkAdapter- See Also:
-
date
Starts the date element. This is used to identify the date of the document: there is no strict definition if it is creation date or last modification date, which are the 2 classical semantics. There is no formal formatting requirements either.
The date is recommended (but it is not a requirement) to be aligned to the ISO-8601 standard, i.e.:YYYY-MM-DD
whereYYYYis the year in the Gregorian calendar,MMis the month of the year between 01 (January) and 12 (December),- and
DDis the day of the month between 01 and 31.
Supported attributes are: none.
- Specified by:
datein interfaceSink- Overrides:
datein classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
-
date_
public void date_()Ends the date element.- Specified by:
date_in interfaceSink- Overrides:
date_in classSinkAdapter
-
sectionTitle
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
sectionelement 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 attributesplusALIGN.- Specified by:
sectionTitlein interfaceSink- Overrides:
sectionTitlein 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.
-
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:
sectionTitle1in interfaceSink- Overrides:
sectionTitle1in classSinkAdapter- See Also:
-
sectionTitle1_
public void sectionTitle1_()Ends a first title heading element.- Specified by:
sectionTitle1_in interfaceSink- Overrides:
sectionTitle1_in classSinkAdapter
-
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:
sectionTitle2in interfaceSink- Overrides:
sectionTitle2in classSinkAdapter- See Also:
-
sectionTitle2_
public void sectionTitle2_()Ends a second title heading element.- Specified by:
sectionTitle2_in interfaceSink- Overrides:
sectionTitle2_in classSinkAdapter
-
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:
sectionTitle3in interfaceSink- Overrides:
sectionTitle3in classSinkAdapter- See Also:
-
sectionTitle3_
public void sectionTitle3_()Ends a third title heading element.- Specified by:
sectionTitle3_in interfaceSink- Overrides:
sectionTitle3_in classSinkAdapter
-
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:
sectionTitle4in interfaceSink- Overrides:
sectionTitle4in classSinkAdapter- See Also:
-
sectionTitle4_
public void sectionTitle4_()Ends a 4th title heading element.- Specified by:
sectionTitle4_in interfaceSink- Overrides:
sectionTitle4_in classSinkAdapter
-
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:
sectionTitle5in interfaceSink- Overrides:
sectionTitle5in classSinkAdapter- See Also:
-
sectionTitle5_
public void sectionTitle5_()Ends a 5th title heading element.- Specified by:
sectionTitle5_in interfaceSink- Overrides:
sectionTitle5_in classSinkAdapter
-
list
public void list()Starts an unordered list element.- Specified by:
listin interfaceSink- Overrides:
listin classSinkAdapter- See Also:
-
list
Starts an unordered list.Supported attributes are the
base attributes.- Specified by:
listin interfaceSink- Overrides:
listin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
list_
public void list_()Ends an unordered list element.- Specified by:
list_in interfaceSink- Overrides:
list_in classSinkAdapter
-
listItem
public void listItem()Starts a list item element within an unordered list.- Specified by:
listItemin interfaceSink- Overrides:
listItemin classSinkAdapter- See Also:
-
listItem
Starts a list item element within an unordered list.Supported attributes are the
base attributes.- Specified by:
listItemin interfaceSink- Overrides:
listItemin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
numberedList
public void numberedList(int numbering) Starts an ordered list element.- Specified by:
numberedListin interfaceSink- Overrides:
numberedListin classSinkAdapter- Parameters:
numbering- the numbering style.- See Also:
-
numberedList
Starts an ordered list element.Supported attributes are the
base attributes.- Specified by:
numberedListin interfaceSink- Overrides:
numberedListin classSinkAdapter- Parameters:
numbering- the numbering style.attributes- A set ofSinkEventAttributes, may benull.- See Also:
-
numberedList_
public void numberedList_()Ends an ordered list element.- Specified by:
numberedList_in interfaceSink- Overrides:
numberedList_in classSinkAdapter
-
numberedListItem
public void numberedListItem()Starts a list item element within an ordered list.- Specified by:
numberedListItemin interfaceSink- Overrides:
numberedListItemin classSinkAdapter- See Also:
-
numberedListItem
Starts a list item element within an ordered list.Supported attributes are the
base attributes.- Specified by:
numberedListItemin interfaceSink- Overrides:
numberedListItemin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
definitionList
public void definitionList()Starts a definition list element.- Specified by:
definitionListin interfaceSink- Overrides:
definitionListin classSinkAdapter- See Also:
-
definitionList
Starts a definition list.Supported attributes are the
base attributes.- Specified by:
definitionListin interfaceSink- Overrides:
definitionListin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
definitionList_
public void definitionList_()Ends a definition list element.- Specified by:
definitionList_in interfaceSink- Overrides:
definitionList_in classSinkAdapter
-
definedTerm
public void definedTerm()Starts a definition term element within a definition list.- Specified by:
definedTermin interfaceSink- Overrides:
definedTermin classSinkAdapter- See Also:
-
definedTerm
Starts a definition term element within a definition list.Supported attributes are the
base attributes.- Specified by:
definedTermin interfaceSink- Overrides:
definedTermin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
definedTerm_
public void definedTerm_()Ends a definition term element within a definition list.- Specified by:
definedTerm_in interfaceSink- Overrides:
definedTerm_in classSinkAdapter
-
definitionListItem
public void definitionListItem()Starts a list item element within a definition list.- Specified by:
definitionListItemin interfaceSink- Overrides:
definitionListItemin classSinkAdapter- See Also:
-
definitionListItem
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:
definitionListItemin interfaceSink- Overrides:
definitionListItemin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
definitionListItem_
public void definitionListItem_()Ends a list item element within a definition list.- Specified by:
definitionListItem_in interfaceSink- Overrides:
definitionListItem_in classSinkAdapter
-
definition
public void definition()Starts a definition element within a definition list.- Specified by:
definitionin interfaceSink- Overrides:
definitionin classSinkAdapter- See Also:
-
definition
Starts a definition element within a definition list.Supported attributes are the
base attributes.- Specified by:
definitionin interfaceSink- Overrides:
definitionin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
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()Starts a basic image embedding element.- Specified by:
figurein interfaceSink- Overrides:
figurein classSinkAdapter- See Also:
-
figure
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:
figurein interfaceSink- Overrides:
figurein classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
figure_
public void figure_()Ends a basic image embedding element.- Specified by:
figure_in interfaceSink- Overrides:
figure_in classSinkAdapter
-
figureGraphics
Adding a source of a graphic.- Specified by:
figureGraphicsin interfaceSink- Overrides:
figureGraphicsin classSinkAdapter- Parameters:
name- the source
-
figureGraphics
Adds a graphic element.The
srcparameter 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 attributesplus:SRC,ALT,WIDTH,HEIGHT,ALIGN,BORDER,HSPACE,VSPACE,ISMAP,USEMAP.If the
SRCattribute is specified in SinkEventAttributes, it will be overridden by thesrcparameter.- Specified by:
figureGraphicsin interfaceSink- Overrides:
figureGraphicsin classSinkAdapter- Parameters:
src- the image source, a valid URL.attributes- A set ofSinkEventAttributes, may benull.- See Also:
-
figureCaption
public void figureCaption()Starts a caption of an image element.- Specified by:
figureCaptionin interfaceSink- Overrides:
figureCaptionin classSinkAdapter- See Also:
-
figureCaption
Starts a figure caption.Supported attributes are the
base attributes.- Specified by:
figureCaptionin interfaceSink- Overrides:
figureCaptionin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
-
figureCaption_
public void figureCaption_()Ends a caption of an image.- Specified by:
figureCaption_in interfaceSink- Overrides:
figureCaption_in classSinkAdapter
-
table
public void table()Starts a table element for marking up tabular information in a document.- Specified by:
tablein interfaceSink- Overrides:
tablein classSinkAdapter- See Also:
-
table
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 attributesplus:ALIGN,BGCOLOR,BORDER,CELLPADDING,CELLSPACING,FRAME,RULES,SUMMARY,WIDTH.- Specified by:
tablein interfaceSink- Overrides:
tablein classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
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:
tableRowsin interfaceSink- Overrides:
tableRowsin 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:
-
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()Starts a row element which acts as a container for a row of table cells.- Specified by:
tableRowin interfaceSink- Overrides:
tableRowin classSinkAdapter- See Also:
-
tableRow
Starts a table row.Supported attributes are the
base attributesplus:ALIGN,BGCOLOR,VALIGN.- Specified by:
tableRowin interfaceSink- Overrides:
tableRowin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
tableRow_
public void tableRow_()Ends a row element.- Specified by:
tableRow_in interfaceSink- Overrides:
tableRow_in classSinkAdapter
-
tableCell
public void tableCell()Starts a cell element which defines a cell that contains data.- Specified by:
tableCellin interfaceSink- Overrides:
tableCellin classSinkAdapter- See Also:
-
tableCell
Starts a cell element which defines a cell that contains data.- Specified by:
tableCellin interfaceSink- Overrides:
tableCellin classSinkAdapter- Parameters:
width- the size of the cell.
-
tableCell
Starts a table cell.Supported attributes are the
base attributesplus:ABBRV,ALIGN,AXIS,BGCOLOR,COLSPAN,HEADERS,HEIGHT,NOWRAP,ROWSPAN,SCOPE,VALIGN,WIDTH.- Specified by:
tableCellin interfaceSink- Overrides:
tableCellin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
tableCell_
public void tableCell_()Ends a cell element.- Specified by:
tableCell_in interfaceSink- Overrides:
tableCell_in classSinkAdapter
-
tableHeaderCell
public void tableHeaderCell()Starts a cell element which defines a cell that contains header information.- Specified by:
tableHeaderCellin interfaceSink- Overrides:
tableHeaderCellin classSinkAdapter- See Also:
-
tableHeaderCell
Starts a cell element which defines a cell that contains header information.- Specified by:
tableHeaderCellin interfaceSink- Overrides:
tableHeaderCellin classSinkAdapter- Parameters:
width- the size of the header cell.
-
tableHeaderCell
Starts a table header cell.Supported attributes are the same as for
tableCell.- Specified by:
tableHeaderCellin interfaceSink- Overrides:
tableHeaderCellin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
tableHeaderCell_
public void tableHeaderCell_()Ends a cell header element.- Specified by:
tableHeaderCell_in interfaceSink- Overrides:
tableHeaderCell_in classSinkAdapter
-
tableCell
private void tableCell(boolean header) Starts a table cell.- Parameters:
header- True if this is a header cell.
-
tableCaption
public void tableCaption()Starts a caption element of a table.- Specified by:
tableCaptionin interfaceSink- Overrides:
tableCaptionin classSinkAdapter- See Also:
-
tableCaption
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 attributesplusALIGN.- Specified by:
tableCaptionin interfaceSink- Overrides:
tableCaptionin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
-
tableCaption_
public void tableCaption_()Ends a caption element of a table.- Specified by:
tableCaption_in interfaceSink- Overrides:
tableCaption_in classSinkAdapter
-
paragraph
public void paragraph()Starts an element which represents a paragraph.- Specified by:
paragraphin interfaceSink- Overrides:
paragraphin classSinkAdapter- See Also:
-
paragraph
Starts a paragraph.Supported attributes are the
base attributesplusALIGN.- Specified by:
paragraphin interfaceSink- Overrides:
paragraphin 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(boolean boxed) Starts an element which indicates that whitespace in the enclosed text has semantic relevance.- Specified by:
verbatimin interfaceSink- Overrides:
verbatimin classSinkAdapter- Parameters:
boxed- true to add a box, false otherwise
-
verbatim
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 attributesplus:DECORATION(value: "boxed"),ALIGN,WIDTH.- Specified by:
verbatimin interfaceSink- Overrides:
verbatimin classSinkAdapter- Parameters:
attributes- aSinkEventAttributesobject.
-
verbatim_
public void verbatim_()Ends a verbatim element.- Specified by:
verbatim_in interfaceSink- Overrides:
verbatim_in classSinkAdapter
-
horizontalRule
public void horizontalRule()Adding a separator of sections from a text to each other.- Specified by:
horizontalRulein interfaceSink- Overrides:
horizontalRulein classSinkAdapter- See Also:
-
horizontalRule
Adds a horizontal separator rule.Supported attributes are the
base attributesplus:ALIGN,NOSHADE,SIZE,WIDTH.- Specified by:
horizontalRulein interfaceSink- Overrides:
horizontalRulein classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
pageBreak
public void pageBreak()Adding a new page separator.- Specified by:
pageBreakin interfaceSink- Overrides:
pageBreakin classSinkAdapter
-
anchor
Starts an element which defines an anchor.- Specified by:
anchorin interfaceSink- Overrides:
anchorin classSinkAdapter- Parameters:
name- the name of the anchor.- See Also:
-
anchor
Starts an element which defines an anchor.The
nameparameter 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. IfNAMEis specified in the SinkEventAttributes, it will be overwritten by thenameparameter.- Specified by:
anchorin interfaceSink- Overrides:
anchorin 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_()Ends an anchor element.- Specified by:
anchor_in interfaceSink- Overrides:
anchor_in classSinkAdapter
-
link
Starts an element which defines a link.- Specified by:
linkin interfaceSink- Overrides:
linkin classSinkAdapter- Parameters:
name- the name of the link.- See Also:
-
link
Starts a link.The
nameparameter has to be a valid htmlhrefparameter, ie for internal links (links to an anchor within the same source document),nameshould start with the character "#".Supported attributes are the
base attributesplus:CHARSET,COORDS,HREF,HREFLANG,REL,REV,SHAPE,TARGET,TYPE.If
HREFis specified in the SinkEventAttributes, it will be overwritten by thenameparameter.- Specified by:
linkin interfaceSink- Overrides:
linkin classSinkAdapter- Parameters:
name- the name of the link.attributes- A set ofSinkEventAttributes, may benull.
-
link_
public void link_()Ends a link element.- Specified by:
link_in interfaceSink- Overrides:
link_in classSinkAdapter
-
inline
public void inline()Starts an inline element.- Specified by:
inlinein interfaceSink- Overrides:
inlinein classSinkAdapter- See Also:
-
inline
Starts an inline element.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 attributesplusSEMANTICS(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").- Specified by:
inlinein interfaceSink- Overrides:
inlinein classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
inline_
public void inline_()Ends an inline element.- Specified by:
inline_in interfaceSink- Overrides:
inline_in classSinkAdapter
-
italic
public void italic()Starts an italic element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.- Specified by:
italicin interfaceSink- Overrides:
italicin classSinkAdapter
-
italic_
public void italic_()Ends an italic element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.- Specified by:
italic_in interfaceSink- Overrides:
italic_in classSinkAdapter
-
bold
public void bold()Starts a bold element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.- Specified by:
boldin interfaceSink- Overrides:
boldin classSinkAdapter
-
bold_
public void bold_()Ends a bold element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.- Specified by:
bold_in interfaceSink- Overrides:
bold_in classSinkAdapter
-
monospaced
public void monospaced()Starts a monospaced element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.- Specified by:
monospacedin interfaceSink- Overrides:
monospacedin classSinkAdapter
-
monospaced_
public void monospaced_()Ends a monospaced element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.- Specified by:
monospaced_in interfaceSink- Overrides:
monospaced_in classSinkAdapter
-
lineBreak
public void lineBreak()Adds a line break.- Specified by:
lineBreakin interfaceSink- Overrides:
lineBreakin classSinkAdapter- See Also:
-
lineBreak
- Specified by:
lineBreakin interfaceSink- Overrides:
lineBreakin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
nonBreakingSpace
public void nonBreakingSpace()Adding a non breaking space, ie a space without any special formatting operations.- Specified by:
nonBreakingSpacein interfaceSink- Overrides:
nonBreakingSpacein classSinkAdapter
-
text
Adding a text.- Specified by:
textin interfaceSink- Overrides:
textin classSinkAdapter- Parameters:
text- The text to write.- See Also:
-
text
Adds a text.The
textparameter should contain only real content, ie any ignorable/collapsable whitespace/EOLs or other pretty-printing should be removed/normalized by a parser.If
textcontains any variants of line terminators, they should be normalized to the System EOL by an implementing Sink.Supported attributes are the
base attributesplusSEMANTICS(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").- Specified by:
textin interfaceSink- Overrides:
textin classSinkAdapter- Parameters:
text- The text to write.attributes- A set ofSinkEventAttributes, may benull.
-
rawText
Adding a raw text, ie a text without any special formatting operations.- Specified by:
rawTextin interfaceSink- Overrides:
rawTextin classSinkAdapter- Parameters:
text- The text to write.
-
comment
Add a comment.- Specified by:
commentin interfaceSink- Overrides:
commentin classSinkAdapter- Parameters:
comment- The comment to write.
-
unknown
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:
unknownin interfaceSink- Overrides:
unknownin 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:
-
markup
Writes the text, preserving whitespace.- Parameters:
text- the text to write.
-
content
Writes the text, without preserving whitespace.- Parameters:
text- the text to write.
-
verbatimContent
Writes the text, preserving whitespace.- Parameters:
text- the text to write.
-
escaped
Escapes special characters.- Parameters:
text- The text to escape.- Returns:
- The text with special characters replaced.
-
flush
public void flush()Flush the writer or the stream, if needed. Flushing a previously-flushed Sink has no effect.- Specified by:
flushin interfaceSink- Overrides:
flushin classSinkAdapter
-
close
public void close()Close the writer or the stream, if needed. Closing a previously-closed Sink has no effect.- Specified by:
closein interfaceSink- Overrides:
closein classSinkAdapter
-
getDefaultSinkCommands
Returns the default sink commands from a resource.- Returns:
- InputStream
- Throws:
IOException- if the resource file cannot be read.
-
getDefaultPreamble
Returns the default preamble from a resource.- Returns:
- InputStream
- Throws:
IOException- if the resource file cannot be read.
-
defaultSinkCommands
Returns the default sink commands.- Returns:
- String.
-
defaultPreamble
Returns the default preamble.- Returns:
- String.
-
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:
initin classAbstractSink
-