Class RandomAccessSink
- java.lang.Object
-
- org.apache.maven.doxia.sink.impl.RandomAccessSink
-
- All Implemented Interfaces:
LogEnabled,Sink
public class RandomAccessSink extends java.lang.Object implements Sink
The RandomAccessSink provides the ability to create aSinkwith hooks. A page can be prepared by first creating its structure and specifying the positions of these hooks. After specifying the structure, the page can be filled with content from one or more models. These hooks can prevent you to have to loop over the model multiple times to build the page as desired.- Since:
- 1.3
-
-
Field Summary
Fields Modifier and Type Field Description private java.io.OutputStreamcoreOutputStreamprivate SinkcoreSinkprivate SinkcurrentSinkprivate java.lang.Stringencodingprivate java.util.List<java.io.ByteArrayOutputStream>outputStreamsprivate SinkFactorysinkFactoryprivate java.util.List<Sink>sinks-
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
-
-
Constructor Summary
Constructors Constructor Description RandomAccessSink(SinkFactory sinkFactory, java.io.File outputDirectory, java.lang.String outputName)Constructor for RandomAccessSink.RandomAccessSink(SinkFactory sinkFactory, java.io.File outputDirectory, java.lang.String outputName, java.lang.String encoding)Constructor for RandomAccessSink.RandomAccessSink(SinkFactory sinkFactory, java.io.OutputStream stream)Constructor for RandomAccessSink.RandomAccessSink(SinkFactory sinkFactory, java.io.OutputStream stream, java.lang.String encoding)Constructor for RandomAccessSink.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddress()Starts an address element.voidaddress(SinkEventAttributes attributes)Starts an address element.voidaddress_()Ends an address element.SinkaddSinkHook()By calling this method a sink reference is added at the current position.voidanchor(java.lang.String name)Starts an element which defines an anchor.voidanchor(java.lang.String name, SinkEventAttributes attributes)Starts an element which defines an anchor.voidanchor_()Ends an anchor element.voidarticle()Starts an article within a document.voidarticle(SinkEventAttributes attributes)Starts an article within a document.voidarticle_()Ends the article element.voidauthor()Starts an author element.voidauthor(SinkEventAttributes attributes)Starts an author element.voidauthor_()Ends an author element.voidblockquote()Starts a blockquote element.voidblockquote(SinkEventAttributes attributes)Starts a blockquote element.voidblockquote_()Ends an blockquote 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 all sinksvoidcomment(java.lang.String comment)Add a comment.voidcontent()Start the main content section between the header and the footer within the sections and/or body.voidcontent(SinkEventAttributes attributes)Start the main content section between the header and the footer within the sections and/or body.voidcontent_()Ends a main content section.voiddata(java.lang.String value)Starts a data element which groups together other elements representing microformats.voiddata(java.lang.String value, SinkEventAttributes attributes)Starts a data element which groups together other elements representing microformats.voiddata_()Ends an data element.voiddate()Starts the date element.voiddate(SinkEventAttributes attributes)Starts the date element.voiddate_()Ends the date element.voiddefinedTerm()Starts a definition term element within a definition list.voiddefinedTerm(SinkEventAttributes attributes)Starts a definition term element within a definition list.voiddefinedTerm_()Ends a definition term element within a definition list.voiddefinition()Starts a definition element within a definition list.voiddefinition(SinkEventAttributes attributes)Starts a definition element within a definition list.voiddefinition_()Ends a definition element within a definition list.voiddefinitionList()Starts a definition list element.voiddefinitionList(SinkEventAttributes attributes)Starts a definition list.voiddefinitionList_()Ends a definition list element.voiddefinitionListItem()Starts a list item element within a definition list.voiddefinitionListItem(SinkEventAttributes attributes)Starts a list item element within a definition list.voiddefinitionListItem_()Ends a list item element within a definition list.voiddivision()Starts a division element grouping together other elements.voiddivision(SinkEventAttributes attributes)Starts a division element grouping together other elements.voiddivision_()Ends a division element.voidenableLogging(Log log)Enable aDoxialogger for thisDoxiacomponent.voidfigure()Starts a basic image embedding element.voidfigure(SinkEventAttributes attributes)Starts a basic image embedding element.voidfigure_()Ends a basic image embedding element.voidfigureCaption()Starts a caption of an image element.voidfigureCaption(SinkEventAttributes attributes)Starts a figure caption.voidfigureCaption_()Ends a caption of an image.voidfigureGraphics(java.lang.String name)Adding a source of a graphic.voidfigureGraphics(java.lang.String src, SinkEventAttributes attributes)Adds a graphic element.voidflush()Flush all sinksvoidfooter()Start a new footer within the section or body.voidfooter(SinkEventAttributes attributes)Start a new footer within the section or body.voidfooter_()Ends a footer element.voidhead()Starts the head element.voidhead(SinkEventAttributes attributes)Starts the head element.voidhead_()Ends the head element.voidheader()Start a new header within the section or body.voidheader(SinkEventAttributes attributes)Start a new header within the section or body.voidheader_()Ends a header element.voidhorizontalRule()Adding a separator of sections from a text to each other.voidhorizontalRule(SinkEventAttributes attributes)Adds a horizontal separator rule.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.voidlineBreak()Adds a line break.voidlineBreak(SinkEventAttributes attributes)Adds a line break.voidlineBreakOpportunity()Adds a line break opportunity.voidlineBreakOpportunity(SinkEventAttributes attributes)Adds a line break opportunity.voidlink(java.lang.String name)Starts an element which defines a link.voidlink(java.lang.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.voidlistItem_()Ends a list item element within an unordered list.voidmonospaced()Starts a monospaced element.voidmonospaced_()Ends a monospaced element.voidnavigation()Starts a navigation section within a document.voidnavigation(SinkEventAttributes attributes)Starts a navigation section within a document.voidnavigation_()Ends the navigation element.voidnonBreakingSpace()Adding 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.voidnumberedList_()Ends an ordered list element.voidnumberedListItem()Starts a list item element within an ordered list.voidnumberedListItem(SinkEventAttributes attributes)Starts a list item element within an ordered list.voidnumberedListItem_()Ends a list item element within an ordered list.voidpageBreak()Adding a new page separator.voidparagraph()Starts an element which represents a paragraph.voidparagraph(SinkEventAttributes attributes)Starts a paragraph.voidparagraph_()Ends a paragraph element.voidrawText(java.lang.String text)Adding a raw text, ie a text without any special formatting operations.voidsection(int level, SinkEventAttributes attributes)Start a new section at the given level.voidsection_(int level)Ends a section at the given level.voidsection1()Starts a first heading element which contains the topic of the section.voidsection1_()Ends a first heading element.voidsection2()Starts a second heading element which contains the topic of the section.voidsection2_()Ends a second heading element.voidsection3()Starts a third heading element which contains the topic of the section.voidsection3_()Ends a third heading element.voidsection4()Starts a 4th heading element which contains the topic of the section.voidsection4_()Ends a 4th heading element.voidsection5()Starts a 5th heading element which contains the topic of the section.voidsection5_()Ends a 5th heading element.voidsection6()Starts a 6th heading element which contains the topic of the section.voidsection6_()Ends a 6th heading element.voidsectionTitle()Starts a title heading element.voidsectionTitle(int level, SinkEventAttributes attributes)Start a new section title at the given level.voidsectionTitle_()Ends a title heading element.voidsectionTitle_(int level)Ends a section title at the given level.voidsectionTitle1()Starts a first title heading element.voidsectionTitle1_()Ends a first title heading element.voidsectionTitle2()Starts a second title heading element.voidsectionTitle2_()Ends a second title heading element.voidsectionTitle3()Starts a third title heading element.voidsectionTitle3_()Ends a third title heading element.voidsectionTitle4()Starts a 4th title heading element.voidsectionTitle4_()Ends a 4th title heading element.voidsectionTitle5()Starts a 5th title heading element.voidsectionTitle5_()Ends a 5th title heading element.voidsectionTitle6()Starts a 6th title heading element.voidsectionTitle6_()Ends a 6th title heading element.voidsidebar()Starts a sidebar section within a document.voidsidebar(SinkEventAttributes attributes)Starts a sidebar section within a document.voidsidebar_()Ends the sidebar 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.voidtableCaption()Starts a caption element of a table.voidtableCaption(SinkEventAttributes attributes)Starts a table caption.voidtableCaption_()Ends a caption element of a table.voidtableCell()Starts a cell element which defines a cell that contains data.voidtableCell(java.lang.String width)Starts a cell element which defines a cell that contains data.voidtableCell(SinkEventAttributes attributes)Starts a table cell.voidtableCell_()Ends a cell element.voidtableHeaderCell()Starts a cell element which defines a cell that contains header information.voidtableHeaderCell(java.lang.String width)Starts a cell element which defines a cell that contains header information.voidtableHeaderCell(SinkEventAttributes attributes)Starts a table header cell.voidtableHeaderCell_()Ends 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.voidtableRow_()Ends a row element.voidtableRows(int[] justification, boolean grid)Starts an element that contains rows of table data.voidtableRows_()Ends an element that contains rows of table data.voidtext(java.lang.String text)Adding a text.voidtext(java.lang.String text, SinkEventAttributes attributes)Adds a text.voidtime(java.lang.String datetime)Starts a time element which groups together other elements representing a time.voidtime(java.lang.String datetime, SinkEventAttributes attributes)Starts a time element which groups together other elements representing a time.voidtime_()Ends a time element.voidtitle()Starts the title element.voidtitle(SinkEventAttributes attributes)Starts the title element.voidtitle_()Ends the title element.voidunknown(java.lang.String name, java.lang.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.voidverbatim_()Ends a verbatim element.
-
-
-
Field Detail
-
sinkFactory
private SinkFactory sinkFactory
-
encoding
private java.lang.String encoding
-
coreOutputStream
private java.io.OutputStream coreOutputStream
-
coreSink
private Sink coreSink
-
sinks
private java.util.List<Sink> sinks
-
outputStreams
private java.util.List<java.io.ByteArrayOutputStream> outputStreams
-
currentSink
private Sink currentSink
-
-
Constructor Detail
-
RandomAccessSink
public RandomAccessSink(SinkFactory sinkFactory, java.io.OutputStream stream) throws java.io.IOException
Constructor for RandomAccessSink.
- Parameters:
sinkFactory- aSinkFactoryobject.stream- aOutputStreamobject.- Throws:
java.io.IOException- if any.
-
RandomAccessSink
public RandomAccessSink(SinkFactory sinkFactory, java.io.OutputStream stream, java.lang.String encoding) throws java.io.IOException
Constructor for RandomAccessSink.
- Parameters:
sinkFactory- aSinkFactoryobject.stream- aOutputStreamobject.encoding- aStringobject.- Throws:
java.io.IOException- if any.
-
RandomAccessSink
public RandomAccessSink(SinkFactory sinkFactory, java.io.File outputDirectory, java.lang.String outputName) throws java.io.IOException
Constructor for RandomAccessSink.
- Parameters:
sinkFactory- aSinkFactoryobject.outputDirectory- aFileobject.outputName- aStringobject.- Throws:
java.io.IOException- if any.
-
RandomAccessSink
public RandomAccessSink(SinkFactory sinkFactory, java.io.File outputDirectory, java.lang.String outputName, java.lang.String encoding) throws java.io.IOException
Constructor for RandomAccessSink.
- Parameters:
sinkFactory- aSinkFactoryobject.outputDirectory- aFileobject.outputName- aStringobject.encoding- aStringobject.- Throws:
java.io.IOException- if any.
-
-
Method Detail
-
address
public void address()
Starts an address element.- Specified by:
addressin interfaceSink- See Also:
Sink.address(SinkEventAttributes)
-
address
public void address(SinkEventAttributes attributes)
Starts an address element.- Specified by:
addressin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
addSinkHook
public Sink addSinkHook()
By calling this method a sink reference is added at the current position. You can write to both the new sink reference and the original sink. After flushing all sinks will be flushed in the right order.- Returns:
- a subsink reference you can write to
-
anchor
public void anchor(java.lang.String name)
Starts an element which defines an anchor.- Specified by:
anchorin interfaceSink- Parameters:
name- the name of the anchor.- See Also:
Sink.anchor(String,SinkEventAttributes)
-
anchor
public void anchor(java.lang.String name, SinkEventAttributes attributes)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- Parameters:
name- the name of the anchor. This has to be a valid SGML NAME token.attributes- A set ofSinkEventAttributes, may benull.
-
article
public void article()
Starts an article within a document.- Specified by:
articlein interfaceSink- See Also:
Sink.article(SinkEventAttributes)
-
article
public void article(SinkEventAttributes attributes)
Starts an article within a document.Supported attributes are the
base attributes.- Specified by:
articlein interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
author
public void author()
Starts an author element.- Specified by:
authorin interfaceSink- See Also:
Sink.author(SinkEventAttributes)
-
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:
authorin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
Sink.head(SinkEventAttributes)
-
blockquote
public void blockquote()
Starts a blockquote element.- Specified by:
blockquotein interfaceSink- See Also:
Sink.blockquote(SinkEventAttributes)
-
blockquote
public void blockquote(SinkEventAttributes attributes)
Starts a blockquote element.Supported attributes are the
base attributes.- Specified by:
blockquotein interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
blockquote_
public void blockquote_()
Ends an blockquote element.- Specified by:
blockquote_in interfaceSink
-
body
public void body()
Starts the body of a document.- Specified by:
bodyin interfaceSink- See Also:
Sink.body(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- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
Sink.head(SinkEventAttributes)
-
bold
public void bold()
Starts a bold element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.
-
bold_
public void bold_()
Ends a bold element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.
-
comment
public void comment(java.lang.String comment)
Add a comment.
-
content
public void content()
Start the main content section between the header and the footer within the sections and/or body.
-
content
public void content(SinkEventAttributes attributes)
Start the main content section between the header and the footer within the sections and/or body.Supported attributes are the
base attributes.- Specified by:
contentin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
content_
public void content_()
Ends a main content section.
-
data
public void data(java.lang.String value)
Starts a data element which groups together other elements representing microformats.- Specified by:
datain interfaceSink- Parameters:
value- aStringobject.- See Also:
Sink.data(String, SinkEventAttributes)
-
data
public void data(java.lang.String value, SinkEventAttributes attributes)Starts a data element which groups together other elements representing microformats.Supported attributes are the
base attributesplusVALUE.- Specified by:
datain interfaceSink- Parameters:
value- the machine readable value of the data, may benull.attributes- A set ofSinkEventAttributes, may benull.
-
date
public void date()
Starts the date element.- Specified by:
datein interfaceSink- See Also:
Sink.date(SinkEventAttributes)
-
date
public void date(SinkEventAttributes attributes)
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- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
Sink.head(SinkEventAttributes)
-
definedTerm
public void definedTerm()
Starts a definition term element within a definition list.- Specified by:
definedTermin interfaceSink- See Also:
Sink.definedTerm(SinkEventAttributes)
-
definedTerm
public void definedTerm(SinkEventAttributes attributes)
Starts a definition term element within a definition list.Supported attributes are the
base attributes.- Specified by:
definedTermin interfaceSink- 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
-
definition
public void definition()
Starts a definition element within a definition list.- Specified by:
definitionin interfaceSink- See Also:
Sink.definition(SinkEventAttributes)
-
definition
public void definition(SinkEventAttributes attributes)
Starts a definition element within a definition list.Supported attributes are the
base attributes.- Specified by:
definitionin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
definitionList
public void definitionList()
Starts a definition list element.- Specified by:
definitionListin interfaceSink- See Also:
Sink.definitionList(SinkEventAttributes)
-
definitionList
public void definitionList(SinkEventAttributes attributes)
Starts a definition list.Supported attributes are the
base attributes.- Specified by:
definitionListin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
definitionListItem
public void definitionListItem()
Starts a list item element within a definition list.- Specified by:
definitionListItemin interfaceSink- See Also:
Sink.definitionListItem(SinkEventAttributes)
-
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:
definitionListItemin interfaceSink- 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
-
definitionList_
public void definitionList_()
Ends a definition list element.- Specified by:
definitionList_in interfaceSink
-
definition_
public void definition_()
Ends a definition element within a definition list.- Specified by:
definition_in interfaceSink
-
division
public void division()
Starts a division element grouping together other elements.- Specified by:
divisionin interfaceSink- See Also:
Sink.division(SinkEventAttributes)
-
division
public void division(SinkEventAttributes attributes)
Starts a division element grouping together other elements.Supported attributes are the
base attributesplusALIGN.- Specified by:
divisionin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
division_
public void division_()
Ends a division element.
-
figure
public void figure()
Starts a basic image embedding element.- Specified by:
figurein interfaceSink- See Also:
Sink.figure(SinkEventAttributes)
-
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:
figurein interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
figureCaption
public void figureCaption()
Starts a caption of an image element.- Specified by:
figureCaptionin interfaceSink- See Also:
Sink.figureCaption(SinkEventAttributes)
-
figureCaption
public void figureCaption(SinkEventAttributes attributes)
Starts a figure caption.Supported attributes are the
base attributes.- Specified by:
figureCaptionin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
Sink.figure(SinkEventAttributes)
-
figureCaption_
public void figureCaption_()
Ends a caption of an image.- Specified by:
figureCaption_in interfaceSink
-
figureGraphics
public void figureGraphics(java.lang.String name)
Adding a source of a graphic.- Specified by:
figureGraphicsin interfaceSink- Parameters:
name- the source
-
figureGraphics
public void figureGraphics(java.lang.String src, SinkEventAttributes attributes)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- Parameters:
src- the image source, a valid URL.attributes- A set ofSinkEventAttributes, may benull.- See Also:
Sink.figure(SinkEventAttributes)
-
figure_
public void figure_()
Ends a basic image embedding element.
-
footer
public void footer()
Start a new footer within the section or body.
-
footer
public void footer(SinkEventAttributes attributes)
Start a new footer within the section or body.Supported attributes are the
base attributes.- Specified by:
footerin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
head
public void head()
Starts the head element.- Specified by:
headin interfaceSink- See Also:
Sink.head(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- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
header
public void header()
Start a new header within the section or body.
-
header
public void header(SinkEventAttributes attributes)
Start a new header within the section or body.Supported attributes are the
base attributes.- Specified by:
headerin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
horizontalRule
public void horizontalRule()
Adding a separator of sections from a text to each other.- Specified by:
horizontalRulein interfaceSink- See Also:
Sink.horizontalRule(SinkEventAttributes)
-
horizontalRule
public void horizontalRule(SinkEventAttributes attributes)
Adds a horizontal separator rule.Supported attributes are the
base attributesplus:ALIGN,NOSHADE,SIZE,WIDTH.- Specified by:
horizontalRulein interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
inline
public void inline()
Starts an inline element.- Specified by:
inlinein interfaceSink- See Also:
Sink.inline(SinkEventAttributes)
-
inline
public void inline(SinkEventAttributes attributes)
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- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
italic
public void italic()
Starts an italic element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.
-
italic_
public void italic_()
Ends an italic element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.
-
lineBreak
public void lineBreak()
Adds a line break.- Specified by:
lineBreakin interfaceSink- See Also:
Sink.lineBreak(SinkEventAttributes)
-
lineBreak
public void lineBreak(SinkEventAttributes attributes)
- Specified by:
lineBreakin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
lineBreakOpportunity
public void lineBreakOpportunity()
Adds a line break opportunity.- Specified by:
lineBreakOpportunityin interfaceSink- See Also:
Sink.lineBreak(SinkEventAttributes)
-
lineBreakOpportunity
public void lineBreakOpportunity(SinkEventAttributes attributes)
- Specified by:
lineBreakOpportunityin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
link
public void link(java.lang.String name)
Starts an element which defines a link.- Specified by:
linkin interfaceSink- Parameters:
name- the name of the link.- See Also:
Sink.link(String,SinkEventAttributes)
-
link
public void link(java.lang.String name, SinkEventAttributes attributes)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- Parameters:
name- the name of the link.attributes- A set ofSinkEventAttributes, may benull.
-
list
public void list()
Starts an unordered list element.- Specified by:
listin interfaceSink- See Also:
Sink.list(SinkEventAttributes)
-
list
public void list(SinkEventAttributes attributes)
Starts an unordered list.Supported attributes are the
base attributes.- Specified by:
listin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
listItem
public void listItem()
Starts a list item element within an unordered list.- Specified by:
listItemin interfaceSink- See Also:
Sink.listItem(SinkEventAttributes)
-
listItem
public void listItem(SinkEventAttributes attributes)
Starts a list item element within an unordered list.Supported attributes are the
base attributes.- Specified by:
listItemin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
listItem_
public void listItem_()
Ends a list item element within an unordered list.
-
monospaced
public void monospaced()
Starts a monospaced element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.- Specified by:
monospacedin interfaceSink
-
monospaced_
public void monospaced_()
Ends a monospaced element. Alternatively one may useSink.text(String,SinkEventAttributes)withSTYLEinstead.- Specified by:
monospaced_in interfaceSink
-
navigation
public void navigation()
Starts a navigation section within a document.- Specified by:
navigationin interfaceSink- See Also:
Sink.navigation(SinkEventAttributes)
-
navigation
public void navigation(SinkEventAttributes attributes)
Starts a navigation section within a document.Supported attributes are the
base attributes.- Specified by:
navigationin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
Sink.navigation(SinkEventAttributes)
-
navigation_
public void navigation_()
Ends the navigation element.- Specified by:
navigation_in interfaceSink
-
nonBreakingSpace
public void nonBreakingSpace()
Adding a non breaking space, ie a space without any special formatting operations.- Specified by:
nonBreakingSpacein interfaceSink
-
numberedList
public void numberedList(int numbering)
Starts an ordered list element.- Specified by:
numberedListin interfaceSink- Parameters:
numbering- the numbering style.- See Also:
Sink.numberedList(int,SinkEventAttributes)
-
numberedList
public void numberedList(int numbering, SinkEventAttributes attributes)Starts an ordered list element.Supported attributes are the
base attributes.- Specified by:
numberedListin interfaceSink- 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
-
numberedListItem
public void numberedListItem()
Starts a list item element within an ordered list.- Specified by:
numberedListItemin interfaceSink- See Also:
Sink.numberedListItem(SinkEventAttributes)
-
numberedListItem
public void numberedListItem(SinkEventAttributes attributes)
Starts a list item element within an ordered list.Supported attributes are the
base attributes.- Specified by:
numberedListItemin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
numberedListItem_
public void numberedListItem_()
Ends a list item element within an ordered list.- Specified by:
numberedListItem_in interfaceSink
-
numberedList_
public void numberedList_()
Ends an ordered list element.- Specified by:
numberedList_in interfaceSink
-
pageBreak
public void pageBreak()
Adding a new page separator.
-
paragraph
public void paragraph()
Starts an element which represents a paragraph.- Specified by:
paragraphin interfaceSink- See Also:
Sink.paragraph(SinkEventAttributes)
-
paragraph
public void paragraph(SinkEventAttributes attributes)
Starts a paragraph.Supported attributes are the
base attributesplusALIGN.- Specified by:
paragraphin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
paragraph_
public void paragraph_()
Ends a paragraph element.- Specified by:
paragraph_in interfaceSink
-
rawText
public void rawText(java.lang.String text)
Adding a raw text, ie a text without any special formatting operations.
-
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:
sectionin interfaceSink- Parameters:
level- the section level.attributes- A set ofSinkEventAttributes, may benull.
-
section1
public void section1()
Starts a first heading element which contains the topic of the section.- Specified by:
section1in interfaceSink- See Also:
Sink.section(int,SinkEventAttributes)
-
section1_
public void section1_()
Ends a first heading element.
-
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:
section2in interfaceSink- See Also:
Sink.section(int,SinkEventAttributes)
-
section2_
public void section2_()
Ends a second heading element.
-
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:
section3in interfaceSink- See Also:
Sink.section(int,SinkEventAttributes)
-
section3_
public void section3_()
Ends a third heading element.
-
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:
section4in interfaceSink- See Also:
Sink.section(int,SinkEventAttributes)
-
section4_
public void section4_()
Ends a 4th heading element.
-
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:
section5in interfaceSink- See Also:
Sink.section(int,SinkEventAttributes)
-
section5_
public void section5_()
Ends a 5th heading element.
-
section6
public void section6()
Starts a 6th heading element which contains the topic of the section. This has to be contained within aSink.section5()element.- Specified by:
section6in interfaceSink- See Also:
Sink.section(int,SinkEventAttributes)
-
section6_
public void section6_()
Ends a 6th heading element.
-
sectionTitle
public void sectionTitle()
Starts a title heading element.- Specified by:
sectionTitlein interfaceSink
-
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
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- Parameters:
level- the section title level.attributes- A set ofSinkEventAttributes, may benull.
-
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- See Also:
Sink.sectionTitle(int,SinkEventAttributes)
-
sectionTitle1_
public void sectionTitle1_()
Ends a first title heading element.- Specified by:
sectionTitle1_in interfaceSink
-
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- See Also:
Sink.sectionTitle(int,SinkEventAttributes)
-
sectionTitle2_
public void sectionTitle2_()
Ends a second title heading element.- Specified by:
sectionTitle2_in interfaceSink
-
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- See Also:
Sink.sectionTitle(int,SinkEventAttributes)
-
sectionTitle3_
public void sectionTitle3_()
Ends a third title heading element.- Specified by:
sectionTitle3_in interfaceSink
-
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- See Also:
Sink.sectionTitle(int,SinkEventAttributes)
-
sectionTitle4_
public void sectionTitle4_()
Ends a 4th title heading element.- Specified by:
sectionTitle4_in interfaceSink
-
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- See Also:
Sink.sectionTitle(int,SinkEventAttributes)
-
sectionTitle5_
public void sectionTitle5_()
Ends a 5th title heading element.- Specified by:
sectionTitle5_in interfaceSink
-
sectionTitle6
public void sectionTitle6()
Starts a 6th title heading element. This element is optional, but if it exists, it has to be contained, and be the first element, within aSink.section6()element.- Specified by:
sectionTitle6in interfaceSink- See Also:
Sink.sectionTitle(int,SinkEventAttributes)
-
sectionTitle6_
public void sectionTitle6_()
Ends a 6th title heading element.- Specified by:
sectionTitle6_in interfaceSink
-
sectionTitle_
public void sectionTitle_()
Ends a title heading element.- Specified by:
sectionTitle_in interfaceSink
-
sectionTitle_
public void sectionTitle_(int level)
Ends a section title at the given level.- Specified by:
sectionTitle_in interfaceSink- Parameters:
level- the section title level.
-
section_
public void section_(int level)
Ends a section at the given level.
-
sidebar
public void sidebar()
Starts a sidebar section within a document.- Specified by:
sidebarin interfaceSink- See Also:
Sink.sidebar(SinkEventAttributes)
-
sidebar
public void sidebar(SinkEventAttributes attributes)
Starts a sidebar section within a document.Supported attributes are the
base attributes.- Specified by:
sidebarin interfaceSink- 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:
tablein interfaceSink- See Also:
Sink.table(SinkEventAttributes)
-
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 attributesplus:ALIGN,BGCOLOR,BORDER,CELLPADDING,CELLSPACING,FRAME,RULES,SUMMARY,WIDTH.- Specified by:
tablein interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
tableCaption
public void tableCaption()
Starts a caption element of a table.- Specified by:
tableCaptionin interfaceSink- See Also:
Sink.tableCaption(SinkEventAttributes)
-
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 attributesplusALIGN.- Specified by:
tableCaptionin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
Sink.table(SinkEventAttributes)
-
tableCaption_
public void tableCaption_()
Ends a caption element of a table.- Specified by:
tableCaption_in interfaceSink
-
tableCell
public void tableCell()
Starts a cell element which defines a cell that contains data.- Specified by:
tableCellin interfaceSink- See Also:
Sink.tableCell(SinkEventAttributes)
-
tableCell
public void tableCell(java.lang.String width)
Starts a cell element which defines a cell that contains data.
-
tableCell
public void tableCell(SinkEventAttributes attributes)
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- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
tableCell_
public void tableCell_()
Ends a cell element.- Specified by:
tableCell_in interfaceSink
-
tableHeaderCell
public void tableHeaderCell()
Starts a cell element which defines a cell that contains header information.- Specified by:
tableHeaderCellin interfaceSink- 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:
tableHeaderCellin interfaceSink- Parameters:
width- the size of the header cell.
-
tableHeaderCell
public void tableHeaderCell(SinkEventAttributes attributes)
Starts a table header cell.Supported attributes are the same as for
tableCell.- Specified by:
tableHeaderCellin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
tableHeaderCell_
public void tableHeaderCell_()
Ends a cell header element.- Specified by:
tableHeaderCell_in interfaceSink
-
tableRow
public void tableRow()
Starts a row element which acts as a container for a row of table cells.- Specified by:
tableRowin interfaceSink- See Also:
Sink.tableRow(SinkEventAttributes)
-
tableRow
public void tableRow(SinkEventAttributes attributes)
Starts a table row.Supported attributes are the
base attributesplus:ALIGN,BGCOLOR,VALIGN.- Specified by:
tableRowin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
tableRows
public void tableRows(int[] justification, boolean grid)Starts an element that contains rows of table data.- Specified by:
tableRowsin interfaceSink- 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
-
text
public void text(java.lang.String text)
Adding a text.- Specified by:
textin interfaceSink- Parameters:
text- The text to write.- See Also:
Sink.text(String,SinkEventAttributes)
-
text
public void text(java.lang.String text, SinkEventAttributes attributes)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- Parameters:
text- The text to write.attributes- A set ofSinkEventAttributes, may benull.
-
time
public void time(java.lang.String datetime)
Starts a time element which groups together other elements representing a time.- Specified by:
timein interfaceSink- See Also:
Sink.time(String, SinkEventAttributes)
-
time
public void time(java.lang.String datetime, SinkEventAttributes attributes)Starts a time element which groups together other elements representing a time.Supported attributes are the
base attributesplusDATETIME.- Specified by:
timein interfaceSink- Parameters:
datetime- the machine readable value of the time, may benull.attributes- A set ofSinkEventAttributes, may benull.
-
title
public void title()
Starts the title element.- Specified by:
titlein interfaceSink- See Also:
Sink.title(SinkEventAttributes)
-
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:
titlein interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.- See Also:
Sink.head(SinkEventAttributes)
-
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.- Specified by:
unknownin interfaceSink- 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.
-
verbatim
public void verbatim(boolean boxed)
Starts an element which indicates that whitespace in the enclosed text has semantic relevance.
-
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 attributesplus:DECORATION(value: "boxed"),ALIGN,WIDTH.- Specified by:
verbatimin interfaceSink- Parameters:
attributes- A set ofSinkEventAttributes, may benull.
-
verbatim_
public void verbatim_()
Ends a verbatim element.
-
enableLogging
public void enableLogging(Log log)
Enable aDoxialogger for thisDoxiacomponent.- Specified by:
enableLoggingin interfaceLogEnabled- Parameters:
log- a Log.
-
-