Class SinkWrapper

    • Field Detail

      • delegate

        private Sink delegate
    • Constructor Detail

      • SinkWrapper

        public SinkWrapper​(Sink delegate)
    • Method Detail

      • getWrappedSink

        public Sink getWrappedSink()
      • setWrappedSink

        public void setWrappedSink​(Sink sink)
      • head

        public void head​(SinkEventAttributes attributes)
        Description copied from interface: Sink
        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.
        Parameters:
        attributes - A set of SinkEventAttributes, may be null.
      • head_

        public void head_()
        Description copied from interface: Sink
        Ends the head element.
      • title_

        public void title_()
        Description copied from interface: Sink
        Ends the title element.
      • author_

        public void author_()
        Description copied from interface: Sink
        Ends an author element.
      • date

        public void date​(SinkEventAttributes attributes)
        Description copied from interface: Sink
        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
        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.

        Supported attributes are: none.

        Parameters:
        attributes - A set of SinkEventAttributes, may be null.
        See Also:
        Sink.head(SinkEventAttributes)
      • date_

        public void date_()
        Description copied from interface: Sink
        Ends the date element.
      • body_

        public void body_()
        Description copied from interface: Sink
        Ends the body element.
      • article_

        public void article_()
        Description copied from interface: Sink
        Ends the article element.
      • navigation_

        public void navigation_()
        Description copied from interface: Sink
        Ends the navigation element.
      • sidebar_

        public void sidebar_()
        Description copied from interface: Sink
        Ends the sidebar element.
      • section

        public void section​(int level,
                            SinkEventAttributes attributes)
        Description copied from interface: Sink
        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.

        Parameters:
        level - the section level (must be a value between 1 and 6).
        attributes - A set of SinkEventAttributes, may be null.
      • section_

        public void section_​(int level)
        Description copied from interface: Sink
        Ends a section at the given level.
        Parameters:
        level - the section level (must be a value between 1 and 6).
      • sectionTitle

        public void sectionTitle​(int level,
                                 SinkEventAttributes attributes)
        Description copied from interface: Sink
        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 section element 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 attributes plus ALIGN.

        Parameters:
        level - the section title level (must be a value between 1 and 6).
        attributes - A set of SinkEventAttributes, may be null.
      • sectionTitle_

        public void sectionTitle_​(int level)
        Description copied from interface: Sink
        Ends a section title at the given level.
        Parameters:
        level - the section title level (must be a value between 1 and 6).
      • header_

        public void header_()
        Description copied from interface: Sink
        Ends a header element.
      • content

        public void content​(SinkEventAttributes attributes)
        Description copied from interface: Sink
        Start the main content section between the header and the footer within the sections and/or body.

        Supported attributes are the base attributes.

        Parameters:
        attributes - A set of SinkEventAttributes, may be null.
      • content_

        public void content_()
        Description copied from interface: Sink
        Ends a main content section.
      • footer_

        public void footer_()
        Description copied from interface: Sink
        Ends a footer element.
      • list_

        public void list_()
        Description copied from interface: Sink
        Ends an unordered list element.
      • listItem_

        public void listItem_()
        Description copied from interface: Sink
        Ends a list item element within an unordered list.
      • numberedList_

        public void numberedList_()
        Description copied from interface: Sink
        Ends an ordered list element.
      • numberedListItem

        public void numberedListItem​(SinkEventAttributes attributes)
        Description copied from interface: Sink
        Starts a list item element within an ordered list.

        Supported attributes are the base attributes.

        Parameters:
        attributes - A set of SinkEventAttributes, may be null.
      • numberedListItem_

        public void numberedListItem_()
        Description copied from interface: Sink
        Ends a list item element within an ordered list.
      • definitionList_

        public void definitionList_()
        Description copied from interface: Sink
        Ends a definition list element.
      • definitionListItem_

        public void definitionListItem_()
        Description copied from interface: Sink
        Ends a list item element within a definition list.
      • definition_

        public void definition_()
        Description copied from interface: Sink
        Ends a definition element within a definition list.
      • definedTerm

        public void definedTerm​(SinkEventAttributes attributes)
        Description copied from interface: Sink
        Starts a definition term element within a definition list.

        Supported attributes are the base attributes.

        Parameters:
        attributes - A set of SinkEventAttributes, may be null.
      • definedTerm_

        public void definedTerm_()
        Description copied from interface: Sink
        Ends a definition term element within a definition list.
      • figure

        public void figure​(SinkEventAttributes attributes)
        Description copied from interface: Sink
        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.

        Parameters:
        attributes - A set of SinkEventAttributes, may be null.
      • figure_

        public void figure_()
        Description copied from interface: Sink
        Ends a basic image embedding element.
      • figureCaption_

        public void figureCaption_()
        Description copied from interface: Sink
        Ends a caption of an image.
      • table

        public void table​(SinkEventAttributes attributes)
        Description copied from interface: Sink
        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 attributes plus:

        ALIGN, BGCOLOR, BORDER, CELLPADDING, CELLSPACING, FRAME, RULES, SUMMARY, WIDTH.
        Parameters:
        attributes - A set of SinkEventAttributes, may be null.
      • table_

        public void table_()
        Description copied from interface: Sink
        Ends a table element.
      • tableRows

        public void tableRows​(int[] justification,
                              boolean grid)
        Description copied from interface: Sink
        Starts an element that contains rows of table data.
        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_()
        Description copied from interface: Sink
        Ends an element that contains rows of table data.
      • tableRow_

        public void tableRow_()
        Description copied from interface: Sink
        Ends a row element.
      • tableCell_

        public void tableCell_()
        Description copied from interface: Sink
        Ends a cell element.
      • tableHeaderCell

        public void tableHeaderCell​(SinkEventAttributes attributes)
        Description copied from interface: Sink
        Starts a table header cell.

        Supported attributes are the same as for tableCell.

        Parameters:
        attributes - A set of SinkEventAttributes, may be null.
      • tableHeaderCell_

        public void tableHeaderCell_()
        Description copied from interface: Sink
        Ends a cell header element.
      • tableCaption_

        public void tableCaption_()
        Description copied from interface: Sink
        Ends a caption element of a table.
      • paragraph_

        public void paragraph_()
        Description copied from interface: Sink
        Ends a paragraph element.
      • data

        public void data​(java.lang.String value,
                         SinkEventAttributes attributes)
        Description copied from interface: Sink
        Starts a data element which groups together other elements representing microformats.

        Supported attributes are the base attributes plus VALUE.

        Parameters:
        value - the machine readable value of the data, may be null.
        attributes - A set of SinkEventAttributes, may be null.
      • data_

        public void data_()
        Description copied from interface: Sink
        Ends an data element.
      • time

        public void time​(java.lang.String datetime,
                         SinkEventAttributes attributes)
        Description copied from interface: Sink
        Starts a time element which groups together other elements representing a time.

        Supported attributes are the base attributes plus DATETIME.

        Parameters:
        datetime - the machine readable value of the time, may be null.
        attributes - A set of SinkEventAttributes, may be null.
      • time_

        public void time_()
        Description copied from interface: Sink
        Ends a time element.
      • address_

        public void address_()
        Description copied from interface: Sink
        Ends an address element.
      • blockquote_

        public void blockquote_()
        Description copied from interface: Sink
        Ends an blockquote element.
      • division_

        public void division_()
        Description copied from interface: Sink
        Ends a division element.
      • verbatim

        public void verbatim​(SinkEventAttributes attributes)
        Description copied from interface: Sink
        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 attributes plus:

        DECORATION (values: "source"), ALIGN, WIDTH.
        Parameters:
        attributes - A set of SinkEventAttributes, may be null.
      • verbatim_

        public void verbatim_()
        Description copied from interface: Sink
        Ends a verbatim element.
      • pageBreak

        public void pageBreak()
        Description copied from interface: Sink
        Adding a new page separator.
      • anchor

        public void anchor​(java.lang.String name,
                           SinkEventAttributes attributes)
        Description copied from interface: Sink
        Starts an element which defines an anchor.

        The name parameter 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. If NAME is specified in the SinkEventAttributes, it will be overwritten by the name parameter.

        Parameters:
        name - the name of the anchor. This has to be a valid SGML NAME token.
        attributes - A set of SinkEventAttributes, may be null.
      • anchor_

        public void anchor_()
        Description copied from interface: Sink
        Ends an anchor element.
      • link

        public void link​(java.lang.String name,
                         SinkEventAttributes attributes)
        Description copied from interface: Sink
        Starts a link.

        The name parameter has to be a valid URI according to RFC 3986, i.e. for internal links (links to an anchor within the same source document), name should start with the character "#". This also implies that all unsafe characters are already encoded.

        Supported attributes are the base attributes plus:

        CHARSET, COORDS, HREF, HREFLANG, REL, REV, SHAPE, TARGET, TYPE.

        If HREF is specified in the SinkEventAttributes, it will be overwritten by the name parameter.

        Parameters:
        name - the name of the link.
        attributes - A set of SinkEventAttributes, may be null.
        See Also:
        URI.toASCIIString()
      • link_

        public void link_()
        Description copied from interface: Sink
        Ends a link element.
      • inline

        public void inline​(SinkEventAttributes attributes)
        Description copied from interface: Sink
        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 attributes plus

        SEMANTICS (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").
        Parameters:
        attributes - A set of SinkEventAttributes, may be null.
      • inline_

        public void inline_()
        Description copied from interface: Sink
        Ends an inline element.
      • nonBreakingSpace

        public void nonBreakingSpace()
        Description copied from interface: Sink
        Adding a non breaking space, ie a space without any special formatting operations.
      • text

        public void text​(java.lang.String text,
                         SinkEventAttributes attributes)
        Description copied from interface: Sink
        Adds a text.

        The text parameter should contain only real content, ie any ignorable/collapsable whitespace/EOLs or other pretty-printing should be removed/normalized by a parser.

        If text contains any variants of line terminators, they should be normalized to the System EOL by an implementing Sink.

        Supported attributes are the base attributes plus

        SEMANTICS (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").
        Parameters:
        text - The text to write.
        attributes - A set of SinkEventAttributes, may be null.
      • rawText

        public void rawText​(java.lang.String text)
        Description copied from interface: Sink
        Adding a raw text, ie a text without any special formatting operations.
        Parameters:
        text - The text to write.
      • comment

        public void comment​(java.lang.String comment)
        Description copied from interface: Sink
        Add a comment.
        Parameters:
        comment - The comment to write.
      • unknown

        public void unknown​(java.lang.String name,
                            java.lang.Object[] requiredParams,
                            SinkEventAttributes attributes)
        Description copied from interface: Sink
        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.
        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.
      • flush

        public void flush()
        Description copied from interface: Sink
        Flush the writer or the stream, if needed. Flushing a previously-flushed Sink has no effect.
      • close

        public void close()
        Description copied from interface: Sink
        Close the writer or the stream, if needed. Closing a previously-closed Sink has no effect.
      • setDocumentLocator

        public void setDocumentLocator​(Locator locator)
        Description copied from interface: Sink
        Sets the locator which exposes location information for a particular Sink event.
        Specified by:
        setDocumentLocator in interface Sink
        Overrides:
        setDocumentLocator in class AbstractSink
        Parameters:
        locator - the locator (never null).
      • getDocumentLocator

        public Locator getDocumentLocator()
        Description copied from interface: Sink
        Returns the locator which exposes location information for a particular Sink event.
        Specified by:
        getDocumentLocator in interface Sink
        Overrides:
        getDocumentLocator in class AbstractSink
        Returns:
        the locator (never null).