Class XdocSink
- All Implemented Interfaces:
AutoCloseable,HtmlMarkup,Markup,XmlMarkup,XdocMarkup,Sink
- Since:
- 1.0
- Author:
- James Taylor
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.maven.doxia.sink.impl.Xhtml5BaseSink
Xhtml5BaseSink.VerbatimMode -
Field Summary
Fields inherited from class org.apache.maven.doxia.sink.impl.Xhtml5BaseSink
contentStack, inlineStack, tableAttributesFields inherited from interface org.apache.maven.doxia.markup.HtmlMarkup
A, ABBR, ADDRESS, AREA, ARTICLE, ASIDE, AUDIO, B, BASE, BDI, BDO, BLOCKQUOTE, BODY, BR, BUTTON, CANVAS, CAPTION, CDATA_TYPE, CITE, CODE, COL, COLGROUP, COMMAND, DATA, DATALIST, DD, DEL, DETAILS, DFN, DIALOG, DIV, DL, DT, EM, EMBED, ENTITY_TYPE, FIELDSET, FIGCAPTION, FIGURE, FOOTER, FORM, H1, H2, H3, H4, H5, H6, HEAD, HEADER, HGROUP, HR, HTML, I, IFRAME, IMG, INPUT, INS, KBD, KEYGEN, LABEL, LEGEND, LI, LINK, MAIN, MAP, MARK, MENU, MENUITEM, META, METER, NAV, NOSCRIPT, OBJECT, OL, OPTGROUP, OPTION, OUTPUT, P, PARAM, PICTURE, PRE, PROGRESS, Q, RB, RP, RT, RTC, RUBY, S, SAMP, SCRIPT, SECTION, SELECT, SMALL, SOURCE, SPAN, STRONG, STYLE, SUB, SUMMARY, SUP, SVG, TABLE, TAG_TYPE_END, TAG_TYPE_SIMPLE, TAG_TYPE_START, TBODY, TD, TEMPLATE, TEXTAREA, TFOOT, TH, THEAD, TIME, TITLE, TR, TRACK, U, UL, VAR, VIDEO, WBRFields 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_DEFAULT, JUSTIFY_LEFT, JUSTIFY_RIGHT, NUMBERING_DECIMAL, NUMBERING_LOWER_ALPHA, NUMBERING_LOWER_ROMAN, NUMBERING_UPPER_ALPHA, NUMBERING_UPPER_ROMAN, SECTION_LEVEL_1, SECTION_LEVEL_2, SECTION_LEVEL_3, SECTION_LEVEL_4, SECTION_LEVEL_5, SECTION_LEVEL_6Fields inherited from interface org.apache.maven.doxia.module.xdoc.XdocMarkup
AUTHOR_TAG, DATE_TAG, DOCUMENT_TAG, MACRO_TAG, PROPERTIES_TAG, SECTION_TAG, SOURCE_TAG, SUBSECTION_TAG, XDOC_NAMESPACE, XDOC_SYSTEM_IDFields inherited from interface org.apache.maven.doxia.markup.XmlMarkup
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor, initialize the Writer.protectedConstructor, initialize the Writer and tells which encoding is used.protectedConstructor, initialize the Writer and tells which encoding and languageId are used. -
Method Summary
Modifier and TypeMethodDescriptionvoidauthor_()Ends an author element.voidbody(SinkEventAttributes attributes) Starts the body of a document.voidbody_()Ends the body element.voidclose()close.voiddate_()Ends the date element.voidhead(SinkEventAttributes attributes) Starts the head element.voidhead_()Ends the head element.protected voidinit()This is called inAbstractSink.head()or inSink.close(), and can be used to set the sink into a clear state so it can be re-used.protected voidonSection(int depth, SinkEventAttributes attributes) Starts a section.protected voidonSection_(int depth) Ends a section.protected voidonSectionTitle(int depth, SinkEventAttributes attributes) Starts a section title.protected voidonSectionTitle_(int depth) Ends a section title.voidtableRow(SinkEventAttributes attributes) Rows are striped with two colors by adding the classaorb.voidtableRows(int[] justification, boolean grid) The default style class isbodyTable.voidtitle(SinkEventAttributes attributes) Starts the title element.voidtitle_()Ends the title element.voidverbatim(SinkEventAttributes attributes) Depending on whether the decoration attribute is "source" or not, this leads to either emitting<pre><code>or just<pre>.voidEnds a verbatim element.Methods inherited from class org.apache.maven.doxia.sink.impl.Xhtml5BaseSink
address, address_, anchor, anchor_, article, article_, blockquote, blockquote_, bold, bold_, comment, content, content, content_, convertAndFilterAttributes, convertToHtml5CompliantAttributes, data, data_, definedTerm, definedTerm_, definition, definition_, definitionList, definitionList_, division, division_, encodeAsHtmlComment, encodeURL, escapeHTML, figure, figure_, figureCaption, figureCaption_, figureGraphics, flush, footer, footer_, getCellCount, getCellJustif, getTextBuffer, getVerbatimMode, header, header_, horizontalRule, inline, inline_, isHeadFlag, isVerbatim, italic, italic_, lineBreak, lineBreakOpportunity, link, link_, list, list_, listItem, listItem_, markupLineBreak, monospaced, monospaced_, navigation, navigation_, nonBreakingSpace, numberedList, numberedList_, numberedListItem, numberedListItem_, pageBreak, paragraph, paragraph_, rawText, resetTextBuffer, section, section_, sectionTitle, sectionTitle_, setCellCount, setCellJustif, setHeadFlag, setVerbatimMode, sidebar, sidebar_, table, table_, tableCaption, tableCaption_, tableCell, tableCell_, tableHeaderCell, tableHeaderCell_, tableRow_, tableRows_, text, time, time_, unknown, verbatimContent, write, writeEndTag, writeStartTagMethods inherited from class org.apache.maven.doxia.sink.impl.AbstractXmlSink
getNameSpace, setInsertNewline, setNameSpace, writeEOL, writeSimpleTag, writeSimpleTag, writeStartTag, writeStartTagMethods inherited from class org.apache.maven.doxia.sink.impl.SinkAdapter
author, date, definitionListItem, definitionListItem_Methods inherited from class org.apache.maven.doxia.sink.impl.AbstractSink
address, anchor, article, author, blockquote, body, content, data, date, definedTerm, definition, definitionList, definitionListItem, division, figure, figureCaption, figureGraphics, footer, formatLocation, getDocumentLocator, getLocationLogPrefix, head, header, horizontalRule, inline, lineBreak, lineBreakOpportunity, link, list, listItem, navigation, numberedList, numberedListItem, paragraph, section1, section1_, section2, section2_, section3, section3_, section4, section4_, section5, section5_, section6, section6_, sectionTitle, sectionTitle_, sectionTitle1, sectionTitle1_, sectionTitle2, sectionTitle2_, sectionTitle3, sectionTitle3_, sectionTitle4, sectionTitle4_, sectionTitle5, sectionTitle5_, sectionTitle6, sectionTitle6_, setDocumentLocator, sidebar, table, tableCaption, tableCell, tableHeaderCell, tableRow, tableRows, text, time, title, unifyEOLs, verbatim
-
Constructor Details
-
XdocSink
Constructor, initialize the Writer.- Parameters:
writer- not null writer to write the result. Should be an UTF-8 Writer.
-
XdocSink
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.- Since:
- 1.1
-
XdocSink
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.- Since:
- 1.1
-
-
Method Details
-
init
This is called inAbstractSink.head()or inSink.close(), and can be used to set the sink into a clear state so it can be re-used.- Overrides:
initin classXhtml5BaseSink
-
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.- See Also:
-
head_
Ends the head element.- Specified by:
head_in interfaceSink- Overrides:
head_in 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_
Ends the title element.- Specified by:
title_in interfaceSink- Overrides:
title_in classSinkAdapter- See Also:
-
author_
Ends an author element.- Specified by:
author_in interfaceSink- Overrides:
author_in classSinkAdapter- See Also:
-
date_
Ends the date element.- Specified by:
date_in interfaceSink- Overrides:
date_in 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_
Ends the body element.- Specified by:
body_in interfaceSink- Overrides:
body_in classSinkAdapter- See Also:
-
onSection
Starts a section. Starts a section.- Overrides:
onSectionin classXhtml5BaseSink- Parameters:
depth- The level of the section.attributes- some attributes. May be null.- See Also:
-
onSection_
Ends a section. Ends a section.- Overrides:
onSection_in classXhtml5BaseSink- Parameters:
depth- The level of the section.- See Also:
-
onSectionTitle
Starts a section title. Starts a section title.- Overrides:
onSectionTitlein classXhtml5BaseSink- Parameters:
depth- The level of the section title.attributes- some attributes. May be null.- See Also:
-
onSectionTitle_
Ends a section title. Ends a section title.- Overrides:
onSectionTitle_in classXhtml5BaseSink- Parameters:
depth- The level of the section title.- See Also:
-
verbatim
Depending on whether the decoration attribute is "source" or not, this leads to either emitting<pre><code>or just<pre>. No default classes are emitted but the given attributes are always added to thepreelement only. 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(values: "source"),ALIGN,WIDTH.- Specified by:
verbatimin interfaceSink- Overrides:
verbatimin classXhtml5BaseSink- Parameters:
attributes- aSinkEventAttributesobject.- See Also:
-
verbatim_
Ends a verbatim element.- Specified by:
verbatim_in interfaceSink- Overrides:
verbatim_in classXhtml5BaseSink- See Also:
-
tableRows
The default style class isbodyTable.- Specified by:
tableRowsin interfaceSink- Overrides:
tableRowsin classXhtml5BaseSink- 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. Each element of the array must be one of the following constants:Sink.JUSTIFY_LEFT,Sink.JUSTIFY_CENTER,Sink.JUSTIFY_RIGHTorSink.JUSTIFY_DEFAULT.grid- iftruethe style classbodyTableBorderwill be added true to render a grid, false otherwise.- See Also:
-
tableRow
Rows are striped with two colors by adding the classaorb. If the provided attributes specify thehiddenclass, the next call to tableRow will set the same striping class as this one. A style forhiddenortable.bodyTable hiddenmay need to be provided to actually hide such a row. Starts a table row.Supported attributes are the
base attributesplus:ALIGN,BGCOLOR,VALIGN.- Specified by:
tableRowin interfaceSink- Overrides:
tableRowin classXhtml5BaseSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
-
close
close.
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceSink- Overrides:
closein classXhtml5BaseSink
-