Class XdocSink
- 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.sink.impl.XhtmlBaseSink
-
- org.apache.maven.doxia.module.xdoc.XdocSink
-
- All Implemented Interfaces:
LogEnabled,HtmlMarkup,Markup,XmlMarkup,XdocMarkup,Sink
- Direct Known Subclasses:
XmlWriterXdocSink
public class XdocSink extends XhtmlBaseSink implements XdocMarkup
- Since:
- 1.0
-
-
Field Summary
Fields Modifier and Type Field Description private booleanboxedFlagAn indication on if we're inside a box (verbatim).private java.lang.Stringencodingprivate java.lang.StringlanguageId-
Fields inherited from class org.apache.maven.doxia.sink.impl.XhtmlBaseSink
inlineStack, tableAttributes, tableRows
-
Fields inherited from interface org.apache.maven.doxia.markup.HtmlMarkup
A, ABBR, ACRONYM, ADDRESS, APPLET, AREA, ARTICLE, ASIDE, AUDIO, B, BASE, BASEFONT, BDI, BDO, BIG, BLOCKQUOTE, BODY, BR, BUTTON, CANVAS, CAPTION, CDATA_TYPE, CENTER, CITE, CODE, COL, COLGROUP, COMMAND, DATA, DATALIST, DD, DEL, DETAILS, DFN, DIALOG, DIR, DIV, DL, DT, EM, EMBED, ENTITY_TYPE, FIELDSET, FIGCAPTION, FIGURE, FONT, FOOTER, FORM, FRAME, FRAMESET, H1, H2, H3, H4, H5, H6, HEAD, HEADER, HGROUP, HR, HTML, I, IFRAME, IMG, INPUT, INS, ISINDEX, KBD, LABEL, LEGEND, LI, LINK, MAIN, MAP, MARK, MENU, META, METER, NAV, NOFRAMES, 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, STRIKE, STRONG, STYLE, SUB, SUMMARY, SUP, TABLE, TAG_TYPE_END, TAG_TYPE_SIMPLE, TAG_TYPE_START, TBODY, TD, TEMPLATE, TEXTAREA, TFOOT, TH, THEAD, TIME, TITLE, TR, TRACK, TT, U, UL, VAR, VIDEO, WBR
-
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.module.xdoc.XdocMarkup
AUTHOR_TAG, DATE_TAG, DOCUMENT_TAG, MACRO_TAG, PROPERTIES_TAG, SECTION_TAG, SOURCE_TAG, SUBSECTION_TAG, XDOC_NAMESPACE, XDOC_SYSTEM_ID
-
Fields inherited from interface org.apache.maven.doxia.markup.XmlMarkup
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedXdocSink(java.io.Writer writer)Constructor, initialize the Writer.protectedXdocSink(java.io.Writer writer, java.lang.String encoding)Constructor, initialize the Writer and tells which encoding is used.protectedXdocSink(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 Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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.voidclose()close.voiddate_()Ends the date element.voidhead()Starts the head element.voidhead(SinkEventAttributes attributes)Starts the head element.voidhead_()Ends the head element.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.voidlink(java.lang.String name, java.lang.String target)Adds a link with an optional target.protected voidmarkup(java.lang.String text)Deprecated.use write(String)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()The default valign istop.voidtableRows(int[] justification, boolean grid)The default align iscenter.voidtitle()Starts the title element.voidtitle_()Ends the title element.voidverbatim(SinkEventAttributes attributes)The default class style for boxed issource.voidverbatim_()Ends a verbatim element.-
Methods inherited from class org.apache.maven.doxia.sink.impl.XhtmlBaseSink
address, address, address_, anchor, anchor, anchor_, blockquote, blockquote, blockquote_, bold, bold_, comment, content, definedTerm, definedTerm, definedTerm_, definition, definition, definition_, definitionList, definitionList, definitionList_, division, division, division_, encodeURL, escapeHTML, figure, figure, figure_, figureCaption, figureCaption, figureCaption_, figureGraphics, figureGraphics, flush, getCellCount, getCellJustif, getTextBuffer, horizontalRule, horizontalRule, inline, inline, inline_, isHeadFlag, isVerbatimFlag, italic, italic_, lineBreak, lineBreak, link, link, link_, list, list, list_, listItem, listItem, listItem_, monospaced, monospaced_, nonBreakingSpace, numberedList, numberedList, numberedList_, numberedListItem, numberedListItem, numberedListItem_, pageBreak, paragraph, paragraph, paragraph_, rawText, resetState, resetTextBuffer, section, section_, section1, section1_, section2, section2_, section3, section3_, section4, section4_, section5, section5_, sectionTitle, sectionTitle_, sectionTitle1, sectionTitle1_, sectionTitle2, sectionTitle2_, sectionTitle3, sectionTitle3_, sectionTitle4, sectionTitle4_, sectionTitle5, sectionTitle5_, setCellCount, setCellJustif, setHeadFlag, setVerbatimFlag, table, table, table_, tableCaption, tableCaption, tableCaption_, tableCell, tableCell, tableCell, tableCell_, tableHeaderCell, tableHeaderCell, tableHeaderCell, tableHeaderCell_, tableRow, tableRow_, tableRows_, text, text, unknown, verbatim, verbatimContent, write, writeEndTag, writeStartTag
-
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
article, article, article_, author, author, content, content, content_, data, data, data_, date, date, definitionListItem, definitionListItem, definitionListItem_, footer, footer, footer_, header, header, header_, lineBreakOpportunity, lineBreakOpportunity, navigation, navigation, navigation_, section6, section6_, sectionTitle, sectionTitle_, sectionTitle6, sectionTitle6_, sidebar, sidebar, sidebar_, time, time, time_, title
-
Methods inherited from class org.apache.maven.doxia.sink.impl.AbstractSink
enableLogging, getLog, unifyEOLs
-
-
-
-
Constructor Detail
-
XdocSink
protected XdocSink(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 usenewXmlWritermethods fromWriterFactory.
-
XdocSink
protected XdocSink(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.- Since:
- 1.1
-
XdocSink
protected XdocSink(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.- Since:
- 1.1
-
-
Method Detail
-
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 classXhtmlBaseSink
-
head
public void head()
Starts the head element.- Specified by:
headin interfaceSink- Overrides:
headin classSinkAdapter- See Also:
head(org.apache.maven.doxia.sink.SinkEventAttributes)
-
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:
headin interfaceSink- Overrides:
headin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
XdocMarkup.DOCUMENT_TAG,XdocMarkup.PROPERTIES_TAG
-
head_
public void head_()
Ends the head element.- Specified by:
head_in interfaceSink- Overrides:
head_in classSinkAdapter- See Also:
XdocMarkup.DOCUMENT_TAG,XdocMarkup.PROPERTIES_TAG
-
title
public void title()
Starts the title element.- Specified by:
titlein interfaceSink- Overrides:
titlein classSinkAdapter- See Also:
HTML.Tag.TITLE
-
title_
public void title_()
Ends the title element.- Specified by:
title_in interfaceSink- Overrides:
title_in classSinkAdapter- See Also:
HTML.Tag.TITLE
-
author_
public void author_()
Ends an author element.- Specified by:
author_in interfaceSink- Overrides:
author_in classSinkAdapter- See Also:
XdocMarkup.AUTHOR_TAG
-
date_
public void date_()
Ends the date element.- Specified by:
date_in interfaceSink- Overrides:
date_in classSinkAdapter- See Also:
XdocMarkup.DATE_TAG
-
body
public void body()
Starts the body of a document.- Specified by:
bodyin interfaceSink- Overrides:
bodyin classSinkAdapter- See Also:
body(org.apache.maven.doxia.sink.SinkEventAttributes)
-
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:
bodyin interfaceSink- Overrides:
bodyin classSinkAdapter- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
HTML.Tag.BODY
-
body_
public void body_()
Ends the body element.- Specified by:
body_in interfaceSink- Overrides:
body_in classSinkAdapter- See Also:
HTML.Tag.BODY,XdocMarkup.DOCUMENT_TAG
-
onSection
protected void onSection(int depth, SinkEventAttributes attributes)Starts a section. The default class style issection. Starts a section.- Overrides:
onSectionin classXhtmlBaseSink- Parameters:
depth- The level of the section.attributes- some attributes. May be null.- See Also:
XdocMarkup.SECTION_TAG,XdocMarkup.SUBSECTION_TAG
-
onSection_
protected void onSection_(int depth)
Ends a section. Ends a section.- Overrides:
onSection_in classXhtmlBaseSink- Parameters:
depth- The level of the section.- See Also:
XdocMarkup.SECTION_TAG,XdocMarkup.SUBSECTION_TAG
-
onSectionTitle
protected void onSectionTitle(int depth, SinkEventAttributes attributes)Starts a section title. Starts a section title.- Overrides:
onSectionTitlein classXhtmlBaseSink- Parameters:
depth- The level of the section title.attributes- some attributes. May be null.- See Also:
HTML.Tag.H4,HTML.Tag.H5,HTML.Tag.H6
-
onSectionTitle_
protected void onSectionTitle_(int depth)
Ends a section title. Ends a section title.- Overrides:
onSectionTitle_in classXhtmlBaseSink- Parameters:
depth- The level of the section title.- See Also:
HTML.Tag.H4,HTML.Tag.H5,HTML.Tag.H6
-
verbatim
public void verbatim(SinkEventAttributes attributes)
The default class style for boxed issource. 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 classXhtmlBaseSink- Parameters:
attributes- aSinkEventAttributesobject.- See Also:
XdocMarkup.SOURCE_TAG,HTML.Tag.PRE
-
verbatim_
public void verbatim_()
Ends a verbatim element.- Specified by:
verbatim_in interfaceSink- Overrides:
verbatim_in classXhtmlBaseSink- See Also:
XdocMarkup.SOURCE_TAG,HTML.Tag.PRE
-
tableRows
public void tableRows(int[] justification, boolean grid)The default align iscenter. The default class style isbodyTable. The default align iscenter. Starts an element that contains rows of table data.- Specified by:
tableRowsin interfaceSink- Overrides:
tableRowsin classXhtmlBaseSink- 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:
HTML.Tag.TABLE
-
tableRow
public void tableRow()
The default valign istop. The default class style isaorbdepending the row id. Starts a row element which acts as a container for a row of table cells.- Specified by:
tableRowin interfaceSink- Overrides:
tableRowin classXhtmlBaseSink- See Also:
HTML.Tag.TR
-
close
public void close()
close.
- Specified by:
closein interfaceSink- Overrides:
closein classXhtmlBaseSink
-
link
public void link(java.lang.String name, java.lang.String target)Adds a link with an optional target.- Parameters:
name- the link name.target- the link target, may be null.
-
markup
protected void markup(java.lang.String text)
Deprecated.use write(String)Write text to output, preserving white space.- Parameters:
text- The text to write.
-
-