org.apache.maven.doxia.module.docbook
Class DocBookSink

java.lang.Object
  extended by org.apache.maven.doxia.sink.AbstractSink
      extended by org.apache.maven.doxia.sink.SinkAdapter
          extended by org.apache.maven.doxia.sink.AbstractXmlSink
              extended by org.apache.maven.doxia.module.docbook.DocBookSink
All Implemented Interfaces:
LogEnabled, Markup, XmlMarkup, DocbookMarkup, SimplifiedDocbookMarkup, Sink

public class DocBookSink
extends AbstractXmlSink
implements DocbookMarkup, SimplifiedDocbookMarkup

Docbook Sink implementation.
It uses the Docbook v4.4 DTD http://www.oasis-open.org/docbook/sgml/4.4/docbookx.dtd.

Since:
1.0
Version:
$Id: DocBookSink.java 1090706 2011-04-09 23:15:28Z hboutemy $

Field Summary
static String DEFAULT_SGML_PUBLIC_ID
          Deprecated. since 1.1, use DocbookMarkup.DEFAULT_SGML_PUBLIC_ID instead of.
static String DEFAULT_SGML_SYSTEM_ID
          Deprecated. since 1.1, use DocbookMarkup.DEFAULT_SGML_SYSTEM_ID instead of.
static String DEFAULT_XML_PUBLIC_ID
          Deprecated. since 1.1, use DocbookMarkup.DEFAULT_XML_PUBLIC_ID instead of.
static String DEFAULT_XML_SYSTEM_ID
          Deprecated. since 1.1, use DocbookMarkup.DEFAULT_XML_SYSTEM_ID instead of.
 
Fields inherited from interface org.apache.maven.doxia.module.docbook.DocbookMarkup
ANCHOR_TAG, ARABIC_STYLE, ARTICLE_TAG, ARTICLEINFO_TAG, BOOK_TAG, BOOKINFO_TAG, CHAPTER_TAG, COLS_ATTRIBUTE, COLSEP_ATTRIBUTE, COLSPEC_TAG, CORPAUTHOR_TAG, DATE_TAG, EMAIL_TAG, ENTRY_TAG, FIGURE_TAG, FILEREF_ATTRIBUTE, FORMALPARA_TAG, FORMAT_ATTRIBUTE, FRAME_ATTRIBUTE, IMAGEDATA_TAG, IMAGEOBJECT_TAG, INFO_TAG, INFORMALFIGURE_TAG, INFORMALTABLE_TAG, ITEMIZEDLIST_TAG, LINK_TAG, LINKEND_ATTRIBUTE, LISTITEM_TAG, LOWERALPHA_STYLE, LOWERROMAN_STYLE, MEDIAOBJECT_TAG, NUMERATION_ATTRIBUTE, ORDEREDLIST_TAG, PARA_TAG, PROGRAMLISTING_TAG, ROW_TAG, ROWSEP_ATTRIBUTE, SECTION_TAG, SIMPARA_TAG, TBODY_TAG, TERM_TAG, TGROUP_TAG, THEAD_TAG, ULINK_TAG, UPPERALPHA_STYLE, UPPERROMAN_STYLE, URL_ATTRIBUTE, URL_TAG, VARIABLELIST_TAG, VARLISTENTRY_TAG, XREF_TAG
 
Fields inherited from interface org.apache.maven.doxia.markup.XmlMarkup
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE
 
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.module.docbook.SimplifiedDocbookMarkup
ABBREV_TAG, ABSTRACT_TAG, ACRONYM_TAG, AFFILIATION_TAG, ANCHOR_TAG, APPENDIX_TAG, ARABIC_STYLE, ARTICLE_TAG, ARTICLEINFO_TAG, ATTRIBUTION_TAG, AUDIODATA_TAG, AUDIOOBJECT_TAG, AUTHOR_TAG, AUTHORBLURB_TAG, AUTHORGROUP_TAG, AUTHORINITIALS_TAG, BIBLIODIV_TAG, BIBLIOGRAPHY_TAG, BIBLIOMISC_TAG, BIBLIOMIXED_TAG, BIBLIOMSET_TAG, BLOCKQUOTE_TAG, CAPTION_TAG, CITETITLE_TAG, COL_TAG, COLGROUP_TAG, COLS_ATTRIBUTE, COLSEP_ATTRIBUTE, COLSPEC_TAG, COMMAND_TAG, COMPUTEROUTPUT_TAG, COPYRIGHT_TAG, CORPAUTHOR_TAG, DATE_TAG, EDITION_TAG, EDITOR_TAG, EMAIL_TAG, EMPHASIS_TAG, ENTRY_TAG, ENTRYTBL_TAG, EPIGRAPH_TAG, EXAMPLE_TAG, FIGURE_TAG, FILENAME_TAG, FILEREF_ATTRIBUTE, FIRSTNAME_TAG, FOOTNOTE_TAG, FOOTNOTEREF_TAG, FORMAT_ATTRIBUTE, FRAME_ATTRIBUTE, HOLDER_TAG, HONORIFIC_TAG, ID_ATTRIBUTE, IMAGEDATA_TAG, IMAGEOBJECT_TAG, INFORMALTABLE_TAG, INLINEMEDIAOBJECT_TAG, ISSUENUM_TAG, ITEMIZEDLIST_TAG, JOBTITLE_TAG, KEYWORD_TAG, KEYWORDSET_TAG, LANG_ATTRIBUTE, LEGALNOTICE_TAG, LINEAGE_TAG, LINEANNOTATION_TAG, LINK_TAG, LINKEND_ATTRIBUTE, LISTITEM_TAG, LITERAL_TAG, LITERALLAYOUT_TAG, LOWERALPHA_STYLE, LOWERROMAN_STYLE, MEDIAOBJECT_TAG, NOTE_TAG, NUMERATION_ATTRIBUTE, OBJECTINFO_TAG, OPTION_TAG, ORDEREDLIST_TAG, ORGNAME_TAG, OTHERCREDIT_TAG, OTHERNAME_TAG, PARA_TAG, PHRASE_TAG, PROGRAMLISTING_TAG, PUBDATE_TAG, PUBLISHERNAME_TAG, QUOTE_TAG, RELEASEINFO_TAG, REMAP_ATTRIBUTE, REPLACEABLE_TAG, REVDESCRIPTION_TAG, REVHISTORY_TAG, REVISION_TAG, REVISIONFLAG_ATTRIBUTE, REVNUMBER_TAG, REVREMARK_TAG, ROW_TAG, ROWSEP_ATTRIBUTE, SECTION_TAG, SECTIONINFO_TAG, SIDEBAR_TAG, SPANSPEC_TAG, SUBJECT_TAG, SUBJECTSET_TAG, SUBJECTTERM_TAG, SUBSCRIPT_TAG, SUBTITLE_TAG, SUPERSCRIPT_TAG, SURNAME_TAG, SYSTEMITEM_TAG, TABLE_TAG, TBODY_TAG, TD_TAG, TERM_TAG, TEXTDATA_TAG, TEXTOBJECT_TAG, TFOOT_TAG, TGROUP_TAG, TH_TAG, THEAD_TAG, TITLE_TAG, TITLEABBREV_TAG, TR_TAG, TRADEMARK_TAG, ULINK_TAG, UPPERALPHA_STYLE, UPPERROMAN_STYLE, URL_ATTRIBUTE, USERINPUT_TAG, VARIABLELIST_TAG, VARLISTENTRY_TAG, VIDEODATA_TAG, VIDEOOBJECT_TAG, VOLUMENUM_TAG, XREF_TAG, YEAR_TAG
 
Fields inherited from interface org.apache.maven.doxia.markup.XmlMarkup
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE
 
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
 
Constructor Summary
protected DocBookSink(Writer writer)
          Constructor, initialize the Writer.
protected DocBookSink(Writer writer, String encoding)
          Constructor, initialize the Writer and tells which encoding is used.
protected DocBookSink(Writer writer, String encoding, String languageId)
          Constructor, initialize the Writer and tells which encoding and languageId are used.
 
Method Summary
 void anchor_()
          Ends an anchor element.
 void anchor(String name)
          Starts an element which defines an anchor.
 void author_()
          Ends an author element.
 void author()
          Starts an author element.
 void body_()
          Ends the body element.
 void bold_()
          Ends a bold element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.
 void bold()
          Starts a bold element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.
 void close()
          Close the writer or the stream, if needed. Closing a previously-closed Sink has no effect.
 void comment(String comment)
          Add a comment.
protected  void content(String text)
          Write SGML escaped text to output, not preserving white space.
 void date_()
          Ends the date element.
 void date()
          Starts the date element.
The date is recommended (but it is not a requirement) to be align to the ISO-8601 standard, i.e.:
 YYYY-MM-DD
 
where
  • YYYY is the year in the Gregorian calendar
  • MM is the month of the year between 01 (January) and 12 (December)
  • and DD is the day of the month between 01 and 31
 void definedTerm_()
          Starts a definition term element within a definition list.
 void definedTerm()
          Starts a definition term element within a definition list.
 void definition_()
          Ends a definition element within a definition list.
 void definition()
          Starts a definition element within a definition list.
 void definitionList_()
          Ends a definition list element.
 void definitionList()
          Starts a definition list element.
 void definitionListItem_()
          Ends a list item element within a definition list.
 void definitionListItem()
          Starts a list item element within a definition list.
static String escapeSGML(String text, boolean xmlMode)
          Deprecated. Use HtmlTools#escapeHTML(String,boolean).
 void figure_()
          Ends a basic image embedding element.
 void figure()
          Starts a basic image embedding element.
 void figureCaption_()
          Ends a caption of an image.
 void figureCaption()
          Starts a caption of an image element.
 void figureGraphics(String name)
          Adding a source of a graphic.
 void flush()
          Flush the writer or the stream, if needed. Flushing a previously-flushed Sink has no effect.
 String getBoldElement()
          Returns the current boldBeginTag.
 String getEncoding()
          Returns the encoding.
 String getHorizontalRuleElement()
          Returns the current horizontalRuleElement.
 String getItalicElement()
          Returns the current italicBeginTag.
 String getLanguage()
          Returns the current language.
 String getLineBreakElement()
          Returns the current lineBreakElement.
 String getMonospacedElement()
          Returns the current monospacedBeginTag.
 String getPageBreakElement()
          Returns the current pageBreakElement.
 String getPublicId()
          Returns the current publicId.
 String getStyleSheet()
          Returns the current styleSheet.
 String getSystemId()
          Returns the current systemId.
protected  void graphicElement()
          Deprecated. do not use!
 void head_()
          Ends the head element.
 void head()
          Starts the head element.
 void horizontalRule()
          Adding a separator of sections from a text to each other.
protected  void init()
          This is called in Sink.head() or in Sink.close(), and can be used to set the sink into a clear state so it can be re-used.
 boolean isXMLMode()
          Deprecated. xml mode is not used.
 void italic_()
          Ends an italic element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.
 void italic()
          Starts an italic element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.
 void lineBreak()
          Adds a line break.
 void link_()
          Ends a link element.
 void link(String name)
          Starts an element which defines a link.
 void list_()
          Ends an unordered list element.
 void list()
          Starts an unordered list element.
 void listItem_()
          Ends a list item element within an unordered list.
 void listItem()
          Starts a list item element within an unordered list.
protected  void markup(String text)
          Write text to output, preserving white space.
 void monospaced_()
          Ends a monospaced element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.
 void monospaced()
          Starts a monospaced element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.
 void nonBreakingSpace()
          Adding a non breaking space, ie a space without any special formatting operations.
 void numberedList_()
          Ends an ordered list element.
 void numberedList(int numbering)
          Starts an ordered list element.
 void numberedListItem_()
          Ends a list item element within an ordered list.
 void numberedListItem()
          Starts a list item element within an ordered list.
 void pageBreak()
          Adding a new page separator.
 void paragraph_()
          Ends a paragraph element.
 void paragraph()
          Starts an element which represents a paragraph.
protected  void resetState()
          Deprecated. since 1.1.2, use init() instead of.
 void section1_()
          Ends a first heading element.
 void section1()
          Starts a first heading element which contains the topic of the section.
 void section2_()
          Ends a second heading element.
 void section2()
          Starts a second heading element which contains the topic of the section. This has to be contained within a Sink.section1() element.
 void section3_()
          Ends a third heading element.
 void section3()
          Starts a third heading element which contains the topic of the section. This has to be contained within a Sink.section2() element.
 void section4_()
          Ends a 4th heading element.
 void section4()
          Starts a 4th heading element which contains the topic of the section. This has to be contained within a Sink.section3() element.
 void section5_()
          Ends a 5th heading element.
 void section5()
          Starts a 5th heading element which contains the topic of the section. This has to be contained within a Sink.section4() element.
 void sectionTitle_()
          Ends a title heading element.
 void sectionTitle()
          Starts a title heading element.
 void sectionTitle1_()
          Ends a first title heading element.
 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 a Sink.section1() element.
 void sectionTitle2_()
          Ends a second title heading element.
 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 a Sink.section2() element.
 void sectionTitle3_()
          Ends a third title heading element.
 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 a Sink.section3() element.
 void sectionTitle4_()
          Ends a 4th title heading element.
 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 a Sink.section4() element.
 void sectionTitle5_()
          Ends a 5th title heading element.
 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 a Sink.section5() element.
 void setBoldElement(String tag)
          Sets the current boldBeginTag and constructs the corresponding end tag from it.
 void setEncoding(String enc)
          Sets the encoding.
 void setHorizontalRuleElement(String element)
          Sets the current horizontalRuleElement.
 void setItalicElement(String tag)
          Sets the current italicBeginTag and constructs the corresponding end tag from it.
 void setLanguage(String language)
          Sets the language.
 void setLineBreakElement(String element)
          Sets the current lineBreakElement.
 void setMonospacedElement(String tag)
          Sets the current monospacedBeginTag and constructs the corresponding end tag from it.
 void setPageBreakElement(String element)
          Sets the current pageBreakElement.
 void setPublicId(String id)
          Sets the publicId.
 void setSkip(boolean skip)
          Setter for the field skip.
 void setStyleSheet(String sheet)
          Sets the styleSheet.
 void setSystemId(String id)
          Sets the systemId.
 void setXMLMode(boolean mode)
          Deprecated. xml mode is not used.
 void table_()
          Ends a table element.
 void table()
          Starts a table element for marking up tabular information in a document.
 void tableCaption_()
          Ends a caption element of a table.
 void tableCaption()
          Starts a caption element of a table.
 void tableCell_()
          Ends a cell element.
 void tableCell()
          Starts a cell element which defines a cell that contains data.
 void tableHeaderCell_()
          Ends a cell header element.
 void tableHeaderCell()
          Starts a cell element which defines a cell that contains header information.
 void tableRow_()
          Ends a row element.
 void tableRow()
          Starts a row element which acts as a container for a row of table cells.
 void tableRows_()
          Ends an element that contains rows of table data.
 void tableRows(int[] justification, boolean grid)
          Starts an element that contains rows of table data.
 void text(String text)
          Adding a text.
 void title_()
          Ends the title element.
 void title()
          Starts the title element.
 void unknown(String name, 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. Unknown events just log a warning message but are ignored otherwise.
 void verbatim_()
          Ends a verbatim element.
 void verbatim(boolean boxed)
          Starts an element which indicates that whitespace in the enclosed text has semantic relevance.
protected  void verbatimContent(String text)
          Write SGML escaped text to output, preserving white space.
protected  void write(String text)
          Write a text to the sink.
protected  MutableAttributeSet writeXmlHeader(String root)
          writeXmlHeader.
 
Methods inherited from class org.apache.maven.doxia.sink.AbstractXmlSink
getNameSpace, setNameSpace, writeEndTag, writeEOL, writeSimpleTag, writeSimpleTag, writeStartTag, writeStartTag, writeStartTag
 
Methods inherited from class org.apache.maven.doxia.sink.SinkAdapter
anchor, author, body, body, date, definedTerm, definition, definitionList, definitionListItem, figure, figureCaption, figureGraphics, head, horizontalRule, lineBreak, link, list, listItem, numberedList, numberedListItem, paragraph, rawText, section_, section, sectionTitle_, sectionTitle, table, tableCaption, tableCell, tableCell, tableHeaderCell, tableHeaderCell, tableRow, text, title, verbatim
 
Methods inherited from class org.apache.maven.doxia.sink.AbstractSink
enableLogging, getLog, unifyEOLs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_SGML_PUBLIC_ID

public static final String DEFAULT_SGML_PUBLIC_ID
Deprecated. since 1.1, use DocbookMarkup.DEFAULT_SGML_PUBLIC_ID instead of.
DocBook V4.4 SGML public id: "-//OASIS//DTD DocBook V4.4//EN"

See Also:
Constant Field Values

DEFAULT_XML_PUBLIC_ID

public static final String DEFAULT_XML_PUBLIC_ID
Deprecated. since 1.1, use DocbookMarkup.DEFAULT_XML_PUBLIC_ID instead of.
DocBook XML V4.4 XML public id: "-//OASIS//DTD DocBook XML V4.4//EN"

See Also:
Constant Field Values

DEFAULT_XML_SYSTEM_ID

public static final String DEFAULT_XML_SYSTEM_ID
Deprecated. since 1.1, use DocbookMarkup.DEFAULT_XML_SYSTEM_ID instead of.
DocBook XML V4.4 XML system id: "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"

See Also:
Constant Field Values

DEFAULT_SGML_SYSTEM_ID

public static final String DEFAULT_SGML_SYSTEM_ID
Deprecated. since 1.1, use DocbookMarkup.DEFAULT_SGML_SYSTEM_ID instead of.
DocBook XML V4.4 SGML system id: "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"

See Also:
Constant Field Values
Constructor Detail

DocBookSink

protected DocBookSink(Writer writer)
Constructor, initialize the Writer.

Parameters:
writer - not null writer to write the result. Should be an UTF-8 Writer. You could use newXmlWriter methods from WriterFactory.

DocBookSink

protected DocBookSink(Writer writer,
                      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 not null.

DocBookSink

protected DocBookSink(Writer writer,
                      String encoding,
                      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 not null.
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

escapeSGML

public static final String escapeSGML(String text,
                                      boolean xmlMode)
Deprecated. Use HtmlTools#escapeHTML(String,boolean).

escapeSGML

Parameters:
text - The text to escape.
xmlMode - xmlMode.
Returns:
The escaped text.

setXMLMode

public void setXMLMode(boolean mode)
Deprecated. xml mode is not used.

Sets the xml mode.

Parameters:
mode - the mode to set.

isXMLMode

public boolean isXMLMode()
Deprecated. xml mode is not used.

Returns the current xmlMode.

Returns:
the current xmlMode.

setEncoding

public void setEncoding(String enc)
Sets the encoding. The encoding specified here must be consistent with then encoding used in the Writer used by this DocBookSink instance.

Parameters:
enc - the encoding to set.

getEncoding

public String getEncoding()
Returns the encoding.

Returns:
the encoding set (can be null).

setStyleSheet

public void setStyleSheet(String sheet)
Sets the styleSheet.

Parameters:
sheet - the styleSheet to set.

getStyleSheet

public String getStyleSheet()
Returns the current styleSheet.

Returns:
the current styleSheet.

setPublicId

public void setPublicId(String id)
Sets the publicId.

Parameters:
id - the publicId to set.

getPublicId

public String getPublicId()
Returns the current publicId.

Returns:
the current publicId.

setSystemId

public void setSystemId(String id)
Sets the systemId.

Parameters:
id - the systemId to set.

getSystemId

public String getSystemId()
Returns the current systemId.

Returns:
the current systemId.

setLanguage

public void setLanguage(String language)
Sets the language.

Parameters:
language - the language to set.

getLanguage

public String getLanguage()
Returns the current language.

Returns:
the current language.

setItalicElement

public void setItalicElement(String tag)
Sets the current italicBeginTag and constructs the corresponding end tag from it.

Parameters:
tag - the tag to set. If tag is null, the empty string is used.

getItalicElement

public String getItalicElement()
Returns the current italicBeginTag.

Returns:
the current italicBeginTag. Defaults to "".

setBoldElement

public void setBoldElement(String tag)
Sets the current boldBeginTag and constructs the corresponding end tag from it.

Parameters:
tag - the tag to set. If tag is null, the empty string is used.

getBoldElement

public String getBoldElement()
Returns the current boldBeginTag.

Returns:
the current boldBeginTag. Defaults to "".

setMonospacedElement

public void setMonospacedElement(String tag)
Sets the current monospacedBeginTag and constructs the corresponding end tag from it.

Parameters:
tag - the tag to set. If tag is null, the empty string is used.

getMonospacedElement

public String getMonospacedElement()
Returns the current monospacedBeginTag.

Returns:
the current monospacedBeginTag. Defaults to ">".

setHorizontalRuleElement

public void setHorizontalRuleElement(String element)
Sets the current horizontalRuleElement.

Parameters:
element - the element to set.

getHorizontalRuleElement

public String getHorizontalRuleElement()
Returns the current horizontalRuleElement.

Returns:
the current horizontalRuleElement. Defaults to "".

setPageBreakElement

public void setPageBreakElement(String element)
Sets the current pageBreakElement.

Parameters:
element - the element to set.

getPageBreakElement

public String getPageBreakElement()
Returns the current pageBreakElement.

Returns:
the current pageBreakElement. Defaults to "".

setLineBreakElement

public void setLineBreakElement(String element)
Sets the current lineBreakElement.

Parameters:
element - the element to set.

getLineBreakElement

public String getLineBreakElement()
Returns the current lineBreakElement.

Returns:
the current lineBreakElement. Defaults to "".

resetState

protected void resetState()
Deprecated. since 1.1.2, use init() instead of.

Reset all variables.


init

protected void init()
This is called in Sink.head() or in Sink.close(), and can be used to set the sink into a clear state so it can be re-used.

Overrides:
init in class AbstractSink

head

public void head()
Starts the head element.

Specified by:
head in interface Sink
Overrides:
head in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.DEFAULT_XML_PUBLIC_ID, SimplifiedDocbookMarkup.DEFAULT_XML_SYSTEM_ID, SimplifiedDocbookMarkup.ARTICLE_TAG

writeXmlHeader

protected MutableAttributeSet writeXmlHeader(String root)
writeXmlHeader.

Parameters:
root - not null.
Returns:
an attribute set.
Since:
1.1
See Also:
SimplifiedDocbookMarkup.DEFAULT_XML_PUBLIC_ID, SimplifiedDocbookMarkup.DEFAULT_XML_SYSTEM_ID, SimplifiedDocbookMarkup.ARTICLE_TAG

head_

public void head_()
Ends the head element.

Specified by:
head_ in interface Sink
Overrides:
head_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ARTICLEINFO_TAG

title

public void title()
Starts the title element.

Specified by:
title in interface Sink
Overrides:
title in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ARTICLEINFO_TAG, SimplifiedDocbookMarkup.TITLE_TAG

title_

public void title_()
Ends the title element.

Specified by:
title_ in interface Sink
Overrides:
title_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

author

public void author()
Starts an author element.

Specified by:
author in interface Sink
Overrides:
author in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.CORPAUTHOR_TAG

author_

public void author_()
Ends an author element.

Specified by:
author_ in interface Sink
Overrides:
author_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.CORPAUTHOR_TAG

date

public void date()
Starts the date element.
The date is recommended (but it is not a requirement) to be align to the ISO-8601 standard, i.e.:
 YYYY-MM-DD
 
where

Specified by:
date in interface Sink
Overrides:
date in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.DATE_TAG

date_

public void date_()
Ends the date element.

Specified by:
date_ in interface Sink
Overrides:
date_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.DATE_TAG

body_

public void body_()
Ends the body element.

Specified by:
body_ in interface Sink
Overrides:
body_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ARTICLE_TAG

section1

public void section1()
Starts a first heading element which contains the topic of the section.

Specified by:
section1 in interface Sink
Overrides:
section1 in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.SECTION_TAG

section1_

public void section1_()
Ends a first heading element.

Specified by:
section1_ in interface Sink
Overrides:
section1_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.SECTION_TAG

section2

public void section2()
Starts a second heading element which contains the topic of the section. This has to be contained within a Sink.section1() element.

Specified by:
section2 in interface Sink
Overrides:
section2 in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.SECTION_TAG

section2_

public void section2_()
Ends a second heading element.

Specified by:
section2_ in interface Sink
Overrides:
section2_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.SECTION_TAG

section3

public void section3()
Starts a third heading element which contains the topic of the section. This has to be contained within a Sink.section2() element.

Specified by:
section3 in interface Sink
Overrides:
section3 in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.SECTION_TAG

section3_

public void section3_()
Ends a third heading element.

Specified by:
section3_ in interface Sink
Overrides:
section3_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.SECTION_TAG

section4

public void section4()
Starts a 4th heading element which contains the topic of the section. This has to be contained within a Sink.section3() element.

Specified by:
section4 in interface Sink
Overrides:
section4 in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.SECTION_TAG

section4_

public void section4_()
Ends a 4th heading element.

Specified by:
section4_ in interface Sink
Overrides:
section4_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.SECTION_TAG

section5

public void section5()
Starts a 5th heading element which contains the topic of the section. This has to be contained within a Sink.section4() element.

Specified by:
section5 in interface Sink
Overrides:
section5 in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.SECTION_TAG

section5_

public void section5_()
Ends a 5th heading element.

Specified by:
section5_ in interface Sink
Overrides:
section5_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.SECTION_TAG

sectionTitle

public void sectionTitle()
Starts a title heading element.

Specified by:
sectionTitle in interface Sink
Overrides:
sectionTitle in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

sectionTitle_

public void sectionTitle_()
Ends a title heading element.

Specified by:
sectionTitle_ in interface Sink
Overrides:
sectionTitle_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

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 a Sink.section1() element.

Specified by:
sectionTitle1 in interface Sink
Overrides:
sectionTitle1 in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

sectionTitle1_

public void sectionTitle1_()
Ends a first title heading element.

Specified by:
sectionTitle1_ in interface Sink
Overrides:
sectionTitle1_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

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 a Sink.section2() element.

Specified by:
sectionTitle2 in interface Sink
Overrides:
sectionTitle2 in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

sectionTitle2_

public void sectionTitle2_()
Ends a second title heading element.

Specified by:
sectionTitle2_ in interface Sink
Overrides:
sectionTitle2_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

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 a Sink.section3() element.

Specified by:
sectionTitle3 in interface Sink
Overrides:
sectionTitle3 in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

sectionTitle3_

public void sectionTitle3_()
Ends a third title heading element.

Specified by:
sectionTitle3_ in interface Sink
Overrides:
sectionTitle3_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

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 a Sink.section4() element.

Specified by:
sectionTitle4 in interface Sink
Overrides:
sectionTitle4 in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

sectionTitle4_

public void sectionTitle4_()
Ends a 4th title heading element.

Specified by:
sectionTitle4_ in interface Sink
Overrides:
sectionTitle4_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

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 a Sink.section5() element.

Specified by:
sectionTitle5 in interface Sink
Overrides:
sectionTitle5 in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

sectionTitle5_

public void sectionTitle5_()
Ends a 5th title heading element.

Specified by:
sectionTitle5_ in interface Sink
Overrides:
sectionTitle5_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

list

public void list()
Starts an unordered list element.

Specified by:
list in interface Sink
Overrides:
list in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ITEMIZEDLIST_TAG

list_

public void list_()
Ends an unordered list element.

Specified by:
list_ in interface Sink
Overrides:
list_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ITEMIZEDLIST_TAG

listItem

public void listItem()
Starts a list item element within an unordered list.

Specified by:
listItem in interface Sink
Overrides:
listItem in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.LISTITEM_TAG

listItem_

public void listItem_()
Ends a list item element within an unordered list.

Specified by:
listItem_ in interface Sink
Overrides:
listItem_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.LISTITEM_TAG

numberedList

public void numberedList(int numbering)
Starts an ordered list element.

Specified by:
numberedList in interface Sink
Overrides:
numberedList in class SinkAdapter
Parameters:
numbering - the numbering style.
See Also:
SimplifiedDocbookMarkup.ORDEREDLIST_TAG, SimplifiedDocbookMarkup.NUMERATION_ATTRIBUTE

numberedList_

public void numberedList_()
Ends an ordered list element.

Specified by:
numberedList_ in interface Sink
Overrides:
numberedList_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ORDEREDLIST_TAG

numberedListItem

public void numberedListItem()
Starts a list item element within an ordered list.

Specified by:
numberedListItem in interface Sink
Overrides:
numberedListItem in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.LISTITEM_TAG

numberedListItem_

public void numberedListItem_()
Ends a list item element within an ordered list.

Specified by:
numberedListItem_ in interface Sink
Overrides:
numberedListItem_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.LISTITEM_TAG

definitionList

public void definitionList()
Starts a definition list element.

Specified by:
definitionList in interface Sink
Overrides:
definitionList in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.VARIABLELIST_TAG

definitionList_

public void definitionList_()
Ends a definition list element.

Specified by:
definitionList_ in interface Sink
Overrides:
definitionList_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.VARIABLELIST_TAG

definitionListItem

public void definitionListItem()
Starts a list item element within a definition list.

Specified by:
definitionListItem in interface Sink
Overrides:
definitionListItem in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.VARLISTENTRY_TAG

definitionListItem_

public void definitionListItem_()
Ends a list item element within a definition list.

Specified by:
definitionListItem_ in interface Sink
Overrides:
definitionListItem_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.VARLISTENTRY_TAG

definedTerm

public void definedTerm()
Starts a definition term element within a definition list.

Specified by:
definedTerm in interface Sink
Overrides:
definedTerm in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TERM_TAG

definedTerm_

public void definedTerm_()
Starts a definition term element within a definition list.

Specified by:
definedTerm_ in interface Sink
Overrides:
definedTerm_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TERM_TAG

definition

public void definition()
Starts a definition element within a definition list.

Specified by:
definition in interface Sink
Overrides:
definition in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.LISTITEM_TAG

definition_

public void definition_()
Ends a definition element within a definition list.

Specified by:
definition_ in interface Sink
Overrides:
definition_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.LISTITEM_TAG

paragraph

public void paragraph()
Starts an element which represents a paragraph.

Specified by:
paragraph in interface Sink
Overrides:
paragraph in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.PARA_TAG

paragraph_

public void paragraph_()
Ends a paragraph element.

Specified by:
paragraph_ in interface Sink
Overrides:
paragraph_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.PARA_TAG

verbatim

public void verbatim(boolean boxed)
Starts an element which indicates that whitespace in the enclosed text has semantic relevance.

Specified by:
verbatim in interface Sink
Overrides:
verbatim in class SinkAdapter
Parameters:
boxed - true to add a box, false otherwise
See Also:
SimplifiedDocbookMarkup.PROGRAMLISTING_TAG

verbatim_

public void verbatim_()
Ends a verbatim element.

Specified by:
verbatim_ in interface Sink
Overrides:
verbatim_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.PROGRAMLISTING_TAG

horizontalRule

public void horizontalRule()
Adding a separator of sections from a text to each other.

Specified by:
horizontalRule in interface Sink
Overrides:
horizontalRule in class SinkAdapter
See Also:
Sink.horizontalRule(SinkEventAttributes)

pageBreak

public void pageBreak()
Adding a new page separator.

Specified by:
pageBreak in interface Sink
Overrides:
pageBreak in class SinkAdapter

figure

public void figure()
Starts a basic image embedding element.

Specified by:
figure in interface Sink
Overrides:
figure in class SinkAdapter
See Also:
Sink.figure(SinkEventAttributes)

figure_

public void figure_()
Ends a basic image embedding element.

Specified by:
figure_ in interface Sink
Overrides:
figure_ in class SinkAdapter

graphicElement

protected void graphicElement()
Deprecated. do not use!

graphicElement

See Also:
SimplifiedDocbookMarkup.MEDIAOBJECT_TAG, SimplifiedDocbookMarkup.IMAGEOBJECT_TAG, SimplifiedDocbookMarkup.IMAGEDATA_TAG, SimplifiedDocbookMarkup.FORMAT_ATTRIBUTE, SimplifiedDocbookMarkup.FILEREF_ATTRIBUTE

figureGraphics

public void figureGraphics(String name)
Adding a source of a graphic.

Specified by:
figureGraphics in interface Sink
Overrides:
figureGraphics in class SinkAdapter
Parameters:
name - the source

figureCaption

public void figureCaption()
Starts a caption of an image element.

Specified by:
figureCaption in interface Sink
Overrides:
figureCaption in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.FIGURE_TAG, SimplifiedDocbookMarkup.TITLE_TAG

figureCaption_

public void figureCaption_()
Ends a caption of an image.

Specified by:
figureCaption_ in interface Sink
Overrides:
figureCaption_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.FIGURE_TAG, SimplifiedDocbookMarkup.TITLE_TAG

table

public void table()
Starts a table element for marking up tabular information in a document.

Specified by:
table in interface Sink
Overrides:
table in class SinkAdapter
See Also:
Sink.table(SinkEventAttributes)

table_

public void table_()
Ends a table element.

Specified by:
table_ in interface Sink
Overrides:
table_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.INFORMALTABLE_TAG, SimplifiedDocbookMarkup.FRAME_ATTRIBUTE, SimplifiedDocbookMarkup.ROWSEP_ATTRIBUTE, SimplifiedDocbookMarkup.COLSEP_ATTRIBUTE, SimplifiedDocbookMarkup.TABLE_TAG

tableRows

public void tableRows(int[] justification,
                      boolean grid)
Starts an element that contains rows of table data.

Specified by:
tableRows in interface Sink
Overrides:
tableRows in class SinkAdapter
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:
SimplifiedDocbookMarkup.TGROUP_TAG, SimplifiedDocbookMarkup.COLS_ATTRIBUTE, SimplifiedDocbookMarkup.COLSPEC_TAG

tableRows_

public void tableRows_()
Ends an element that contains rows of table data.

Specified by:
tableRows_ in interface Sink
Overrides:
tableRows_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TGROUP_TAG, SimplifiedDocbookMarkup.TBODY_TAG

tableRow

public void tableRow()
Starts a row element which acts as a container for a row of table cells.

Specified by:
tableRow in interface Sink
Overrides:
tableRow in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ROW_TAG

tableRow_

public void tableRow_()
Ends a row element.

Specified by:
tableRow_ in interface Sink
Overrides:
tableRow_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ROW_TAG

tableCell

public void tableCell()
Starts a cell element which defines a cell that contains data.

Specified by:
tableCell in interface Sink
Overrides:
tableCell in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ENTRY_TAG

tableCell_

public void tableCell_()
Ends a cell element.

Specified by:
tableCell_ in interface Sink
Overrides:
tableCell_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ENTRY_TAG

tableHeaderCell

public void tableHeaderCell()
Starts a cell element which defines a cell that contains header information.

Specified by:
tableHeaderCell in interface Sink
Overrides:
tableHeaderCell in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ENTRY_TAG

tableHeaderCell_

public void tableHeaderCell_()
Ends a cell header element.

Specified by:
tableHeaderCell_ in interface Sink
Overrides:
tableHeaderCell_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ENTRY_TAG

tableCaption

public void tableCaption()
Starts a caption element of a table.

Specified by:
tableCaption in interface Sink
Overrides:
tableCaption in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TABLE_TAG, SimplifiedDocbookMarkup.FRAME_ATTRIBUTE, SimplifiedDocbookMarkup.ROWSEP_ATTRIBUTE, SimplifiedDocbookMarkup.COLSEP_ATTRIBUTE, SimplifiedDocbookMarkup.TITLE_TAG

tableCaption_

public void tableCaption_()
Ends a caption element of a table.

Specified by:
tableCaption_ in interface Sink
Overrides:
tableCaption_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.TITLE_TAG

anchor

public void anchor(String name)
Starts an element which defines an anchor.

Specified by:
anchor in interface Sink
Overrides:
anchor in class SinkAdapter
Parameters:
name - the name of the anchor.
See Also:
SimplifiedDocbookMarkup.ANCHOR_TAG

anchor_

public void anchor_()
Ends an anchor element.

Specified by:
anchor_ in interface Sink
Overrides:
anchor_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ANCHOR_TAG

link

public void link(String name)
Starts an element which defines a link.

Specified by:
link in interface Sink
Overrides:
link in class SinkAdapter
Parameters:
name - the name of the link.
See Also:
SimplifiedDocbookMarkup.ULINK_TAG, SimplifiedDocbookMarkup.URL_ATTRIBUTE, SimplifiedDocbookMarkup.LINK_TAG, SimplifiedDocbookMarkup.LINKEND_ATTRIBUTE

link_

public void link_()
Ends a link element.

Specified by:
link_ in interface Sink
Overrides:
link_ in class SinkAdapter
See Also:
SimplifiedDocbookMarkup.ULINK_TAG, SimplifiedDocbookMarkup.LINK_TAG

italic

public void italic()
Starts an italic element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.

Specified by:
italic in interface Sink
Overrides:
italic in class SinkAdapter

italic_

public void italic_()
Ends an italic element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.

Specified by:
italic_ in interface Sink
Overrides:
italic_ in class SinkAdapter

bold

public void bold()
Starts a bold element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.

Specified by:
bold in interface Sink
Overrides:
bold in class SinkAdapter

bold_

public void bold_()
Ends a bold element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.

Specified by:
bold_ in interface Sink
Overrides:
bold_ in class SinkAdapter

monospaced

public void monospaced()
Starts a monospaced element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.

Specified by:
monospaced in interface Sink
Overrides:
monospaced in class SinkAdapter

monospaced_

public void monospaced_()
Ends a monospaced element. Alternatively one may use Sink.text(String,SinkEventAttributes) with STYLE instead.

Specified by:
monospaced_ in interface Sink
Overrides:
monospaced_ in class SinkAdapter

lineBreak

public void lineBreak()
Adds a line break.

Specified by:
lineBreak in interface Sink
Overrides:
lineBreak in class SinkAdapter
See Also:
Sink.lineBreak(SinkEventAttributes)

nonBreakingSpace

public void nonBreakingSpace()
Adding a non breaking space, ie a space without any special formatting operations.

Specified by:
nonBreakingSpace in interface Sink
Overrides:
nonBreakingSpace in class SinkAdapter

text

public void text(String text)
Adding a text.

Specified by:
text in interface Sink
Overrides:
text in class SinkAdapter
Parameters:
text - The text to write.
See Also:
Sink.text(String,SinkEventAttributes)

comment

public void comment(String comment)
Add a comment.

Specified by:
comment in interface Sink
Overrides:
comment in class SinkAdapter
Parameters:
comment - The comment to write.

unknown

public void unknown(String name,
                    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. Unknown events just log a warning message but are ignored otherwise.

Specified by:
unknown in interface Sink
Overrides:
unknown in class SinkAdapter
Parameters:
name - The name of the event.
requiredParams - An optional array of required parameters to the event. May be null.
attributes - A set of SinkEventAttributes, may be null.
See Also:
Sink.unknown(String,Object[],SinkEventAttributes)

markup

protected void markup(String text)
Write text to output, preserving white space.

Parameters:
text - The text to write.

content

protected void content(String text)
Write SGML escaped text to output, not preserving white space.

Parameters:
text - The text to write.

verbatimContent

protected void verbatimContent(String text)
Write SGML escaped text to output, preserving white space.

Parameters:
text - The text to write.

flush

public void flush()
Flush the writer or the stream, if needed. Flushing a previously-flushed Sink has no effect.

Specified by:
flush in interface Sink
Overrides:
flush in class SinkAdapter

close

public void close()
Close the writer or the stream, if needed. Closing a previously-closed Sink has no effect.

Specified by:
close in interface Sink
Overrides:
close in class SinkAdapter

write

protected void write(String text)
Write a text to the sink.

Specified by:
write in class AbstractXmlSink
Parameters:
text - the given text to write

setSkip

public void setSkip(boolean skip)

Setter for the field skip.

Parameters:
skip - the skip to set.
Since:
1.1


Copyright © 2005-2012 The Apache Software Foundation. All Rights Reserved.