org.xwiki.rendering.listener.chaining
Class LookaheadChainingListener

java.lang.Object
  extended by org.xwiki.rendering.listener.chaining.AbstractChainingListener
      extended by org.xwiki.rendering.listener.chaining.LookaheadChainingListener
All Implemented Interfaces:
ChainingListener, ImageListener, LinkListener, Listener

public class LookaheadChainingListener
extends AbstractChainingListener

Stores events without emitting them back in order to accumulate them and to provide a lookahead feature. The lookahead depth is configurable.

Since:
1.8RC1
Version:
$Id: 20731c1158992c3b4db7ca8e7e4c030618409abd $

Field Summary
 
Fields inherited from interface org.xwiki.rendering.listener.Listener
EMPTY_PARAMETERS
 
Constructor Summary
LookaheadChainingListener(ListenerChain listenerChain, int lookaheadDepth)
           
 
Method Summary
 void beginDefinitionDescription()
          Start of a definition list description.
 void beginDefinitionList(Map<String,String> parameters)
          Start of a definition list.
 void beginDefinitionTerm()
          Start of a definition list term.
 void beginDocument(MetaData metaData)
          Start of the document.
 void beginFormat(Format format, Map<String,String> parameters)
          End of a text formatting block.
 void beginGroup(Map<String,String> parameters)
          Start a group of elements.
 void beginHeader(HeaderLevel level, String id, Map<String,String> parameters)
          Start of a header.
 void beginLink(ResourceReference reference, boolean isFreeStandingURI, Map<String,String> parameters)
          Start of a link.
 void beginList(ListType listType, Map<String,String> parameters)
          Start of a list.
 void beginListItem()
          Start of a list item.
 void beginMacroMarker(String name, Map<String,String> parameters, String content, boolean isInline)
          Start of marker containing a macro definition.
 void beginMetaData(MetaData metadata)
          Start of MetaData (eg saving source from where the content is coming from).
 void beginParagraph(Map<String,String> parameters)
          Start of a paragraph.
 void beginQuotation(Map<String,String> parameters)
          Start of a quotation.
 void beginQuotationLine()
          Start of a quotation line.
 void beginSection(Map<String,String> parameters)
          Start of a section.
 void beginTable(Map<String,String> parameters)
          Start of a table.
 void beginTableCell(Map<String,String> parameters)
          Start of a table cell.
 void beginTableHeadCell(Map<String,String> parameters)
          Start of a table head cell.
 void beginTableRow(Map<String,String> parameters)
          Start of a table row.
 void endDefinitionDescription()
          End of a definition list description.
 void endDefinitionList(Map<String,String> parameters)
          End of a definition list.
 void endDefinitionTerm()
          End of a definition list term.
 void endDocument(MetaData metaData)
          End of the document.
 void endFormat(Format format, Map<String,String> parameters)
          End of a text formatting block.
 void endGroup(Map<String,String> parameters)
          End of the group.
 void endHeader(HeaderLevel level, String id, Map<String,String> parameters)
          End of a header.
 void endLink(ResourceReference reference, boolean isFreeStandingURI, Map<String,String> parameters)
          End of a link.
 void endList(ListType listType, Map<String,String> parameters)
          End of a list.
 void endListItem()
          End of a list item.
 void endMacroMarker(String name, Map<String,String> parameters, String content, boolean isInline)
          End of marker containing a macro definition.
 void endMetaData(MetaData metadata)
          End of MetaData.
 void endParagraph(Map<String,String> parameters)
          End of a paragraph.
 void endQuotation(Map<String,String> parameters)
          End of a quotation.
 void endQuotationLine()
          End of a quotation line.
 void endSection(Map<String,String> parameters)
          End of a section.
 void endTable(Map<String,String> parameters)
          End of a table.
 void endTableCell(Map<String,String> parameters)
          End of a table cell.
 void endTableHeadCell(Map<String,String> parameters)
          End of a table head cell.
 void endTableRow(Map<String,String> parameters)
          End of a table row.
 QueueListener.Event getNextEvent()
           
 QueueListener.Event getNextEvent(int depth)
           
 void onEmptyLines(int count)
          Represents an empty line between 2 standalone Blocks.
 void onHorizontalLine(Map<String,String> parameters)
          Represents an horizontal line.
 void onId(String name)
          A reference/location in a page.
 void onImage(ResourceReference reference, boolean isFreeStandingURI, Map<String,String> parameters)
          An image.
 void onMacro(String id, Map<String,String> parameters, String content, boolean isInline)
          A Macro.
 void onNewLine()
          A new line or line break (it's up to the renderers to decide if it should be outputted as a new line or as a line break in the given syntax).
 void onRawText(String text, Syntax syntax)
          Some text to inject directly into the listener output without parsing it.
 void onSpace()
          A space.
 void onSpecialSymbol(char symbol)
          A special symbol ("*", "<", ">", "=", quote, etc).
 void onVerbatim(String protectedString, boolean isInline, Map<String,String> parameters)
          A portion of text.
 void onWord(String word)
          A word.
 
Methods inherited from class org.xwiki.rendering.listener.chaining.AbstractChainingListener
getListenerChain, setListenerChain
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LookaheadChainingListener

public LookaheadChainingListener(ListenerChain listenerChain,
                                 int lookaheadDepth)
Method Detail

getNextEvent

public QueueListener.Event getNextEvent()

getNextEvent

public QueueListener.Event getNextEvent(int depth)

beginDefinitionDescription

public void beginDefinitionDescription()
Description copied from interface: Listener
Start of a definition list description. For example in HTML this is the equivalent of <dd>.

Specified by:
beginDefinitionDescription in interface Listener
Overrides:
beginDefinitionDescription in class AbstractChainingListener

beginDefinitionList

public void beginDefinitionList(Map<String,String> parameters)
Start of a definition list. For example in HTML this is the equivalent of <dl>.

Specified by:
beginDefinitionList in interface Listener
Overrides:
beginDefinitionList in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the list. Example: "style"/"background-color: blue"
Since:
2.0RC1

beginDefinitionTerm

public void beginDefinitionTerm()
Description copied from interface: Listener
Start of a definition list term. For example in HTML this is the equivalent of <dt>.

Specified by:
beginDefinitionTerm in interface Listener
Overrides:
beginDefinitionTerm in class AbstractChainingListener

beginDocument

public void beginDocument(MetaData metaData)
Start of the document.

Specified by:
beginDocument in interface Listener
Overrides:
beginDocument in class AbstractChainingListener
Parameters:
metaData - the meta data to associate to the following events, see MetaData
Since:
3.0M2

beginGroup

public void beginGroup(Map<String,String> parameters)
Description copied from interface: Listener
Start a group of elements. Groups are used to allow using standalone elements in list items, table cells, etc. They can also be used to set parameters on a group of standalone elements.

Specified by:
beginGroup in interface Listener
Overrides:
beginGroup in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters. Example: style="background-color: blue"

beginFormat

public void beginFormat(Format format,
                        Map<String,String> parameters)
Description copied from interface: Listener
End of a text formatting block.

Specified by:
beginFormat in interface Listener
Overrides:
beginFormat in class AbstractChainingListener
Parameters:
format - the formatting type (bold, italic, etc)
parameters - a generic list of parameters. Example: style="background-color: blue"
See Also:
Format

beginHeader

public void beginHeader(HeaderLevel level,
                        String id,
                        Map<String,String> parameters)
Description copied from interface: Listener
Start of a header.

Specified by:
beginHeader in interface Listener
Overrides:
beginHeader in class AbstractChainingListener
Parameters:
level - the header level (1, 2, 3, etc)
id - the header unique identifier
parameters - a generic list of parameters. Example: style="background-color: blue"
See Also:
HeaderLevel

beginLink

public void beginLink(ResourceReference reference,
                      boolean isFreeStandingURI,
                      Map<String,String> parameters)
Start of a link.

Specified by:
beginLink in interface LinkListener
Overrides:
beginLink in class AbstractChainingListener
Parameters:
reference - the link reference
isFreeStandingURI - if true then the link is a free standing URI directly in the text
parameters - a generic list of parameters. Example: style="background-color: blue"
Since:
2.5RC1
See Also:
ResourceReference

beginList

public void beginList(ListType listType,
                      Map<String,String> parameters)
Description copied from interface: Listener
Start of a list.

Specified by:
beginList in interface Listener
Overrides:
beginList in class AbstractChainingListener
Parameters:
listType - the type of list (bulleted, numbered, etc)
parameters - a generic list of parameters for the list. Example: "style"/"background-color: blue"
See Also:
ListType

beginListItem

public void beginListItem()
Description copied from interface: Listener
Start of a list item.

Specified by:
beginListItem in interface Listener
Overrides:
beginListItem in class AbstractChainingListener

beginMacroMarker

public void beginMacroMarker(String name,
                             Map<String,String> parameters,
                             String content,
                             boolean isInline)
Description copied from interface: Listener
Start of marker containing a macro definition. This is a special that Macro Blocks emits when they are executed so that it's possible to reconstruct the initial macro syntax even after Macros have been executed. This is used for exemple by the WYSIWYG editor to let use see the result of executing a macro and still let them modify the macro definition.

Specified by:
beginMacroMarker in interface Listener
Overrides:
beginMacroMarker in class AbstractChainingListener
Parameters:
name - the macro name
parameters - the macro parameters
content - the macro content
isInline - if true the macro is located in a inline content (like paragraph, etc.)
See Also:
Listener.onMacro(String, java.util.Map, String, boolean)

beginMetaData

public void beginMetaData(MetaData metadata)
Start of MetaData (eg saving source from where the content is coming from).

Specified by:
beginMetaData in interface Listener
Overrides:
beginMetaData in class AbstractChainingListener
Parameters:
metadata - the metadata
Since:
3.0M2

beginParagraph

public void beginParagraph(Map<String,String> parameters)
Description copied from interface: Listener
Start of a paragraph.

Specified by:
beginParagraph in interface Listener
Overrides:
beginParagraph in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters. Example: style="background-color: blue"

beginQuotation

public void beginQuotation(Map<String,String> parameters)
Description copied from interface: Listener
Start of a quotation. There are one or several quotation lines inside a quotation block.

Specified by:
beginQuotation in interface Listener
Overrides:
beginQuotation in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the quotation. Example: "style"/"background-color: blue"

beginQuotationLine

public void beginQuotationLine()
Description copied from interface: Listener
Start of a quotation line. There can be several quotation lines in a quotation block.

Specified by:
beginQuotationLine in interface Listener
Overrides:
beginQuotationLine in class AbstractChainingListener

beginSection

public void beginSection(Map<String,String> parameters)
Description copied from interface: Listener
Start of a section.

Specified by:
beginSection in interface Listener
Overrides:
beginSection in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters. Example: style="background-color: blue"
See Also:
HeaderLevel

beginTable

public void beginTable(Map<String,String> parameters)
Description copied from interface: Listener
Start of a table.

Specified by:
beginTable in interface Listener
Overrides:
beginTable in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the table.

beginTableCell

public void beginTableCell(Map<String,String> parameters)
Description copied from interface: Listener
Start of a table cell.

Specified by:
beginTableCell in interface Listener
Overrides:
beginTableCell in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the table cell.

beginTableHeadCell

public void beginTableHeadCell(Map<String,String> parameters)
Description copied from interface: Listener
Start of a table head cell.

Specified by:
beginTableHeadCell in interface Listener
Overrides:
beginTableHeadCell in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the table head cell.

beginTableRow

public void beginTableRow(Map<String,String> parameters)
Description copied from interface: Listener
Start of a table row.

Specified by:
beginTableRow in interface Listener
Overrides:
beginTableRow in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the table row.

endDefinitionDescription

public void endDefinitionDescription()
Description copied from interface: Listener
End of a definition list description. For example in HTML this is the equivalent of </dd>.

Specified by:
endDefinitionDescription in interface Listener
Overrides:
endDefinitionDescription in class AbstractChainingListener

endDefinitionList

public void endDefinitionList(Map<String,String> parameters)
End of a definition list. For example in HTML this is the equivalent of </dl>.

Specified by:
endDefinitionList in interface Listener
Overrides:
endDefinitionList in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the list. Example: "style"/"background-color: blue"
Since:
2.0RC1

endDefinitionTerm

public void endDefinitionTerm()
Description copied from interface: Listener
End of a definition list term. For example in HTML this is the equivalent of </dt>.

Specified by:
endDefinitionTerm in interface Listener
Overrides:
endDefinitionTerm in class AbstractChainingListener

endDocument

public void endDocument(MetaData metaData)
End of the document.

Specified by:
endDocument in interface Listener
Overrides:
endDocument in class AbstractChainingListener
Parameters:
metaData - the meta data associated with the previous events, see MetaData
Since:
3.0M2

endGroup

public void endGroup(Map<String,String> parameters)
Description copied from interface: Listener
End of the group.

Specified by:
endGroup in interface Listener
Overrides:
endGroup in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters. Example: style="background-color: blue"

endFormat

public void endFormat(Format format,
                      Map<String,String> parameters)
Description copied from interface: Listener
End of a text formatting block.

Specified by:
endFormat in interface Listener
Overrides:
endFormat in class AbstractChainingListener
Parameters:
format - the formatting type (bold, italic, etc)
parameters - a generic list of parameters. Example: style="background-color: blue"
See Also:
Format

endHeader

public void endHeader(HeaderLevel level,
                      String id,
                      Map<String,String> parameters)
Description copied from interface: Listener
End of a header.

Specified by:
endHeader in interface Listener
Overrides:
endHeader in class AbstractChainingListener
Parameters:
level - the header level (1, 2, 3, etc)
id - the header unique identifier
parameters - a generic list of parameters. Example: style="background-color: blue"
See Also:
HeaderLevel

endLink

public void endLink(ResourceReference reference,
                    boolean isFreeStandingURI,
                    Map<String,String> parameters)
End of a link.

Specified by:
endLink in interface LinkListener
Overrides:
endLink in class AbstractChainingListener
Parameters:
reference - the link reference
isFreeStandingURI - if true then the link is a free standing URI directly in the text
parameters - a generic list of parameters. Example: style="background-color: blue"
Since:
2.5RC1
See Also:
ResourceReference

endList

public void endList(ListType listType,
                    Map<String,String> parameters)
Description copied from interface: Listener
End of a list.

Specified by:
endList in interface Listener
Overrides:
endList in class AbstractChainingListener
Parameters:
listType - the type of list (bulleted, numbered, etc)
parameters - a generic list of parameters for the list. Example: "style"/"background-color: blue"
See Also:
ListType

endListItem

public void endListItem()
Description copied from interface: Listener
End of a list item.

Specified by:
endListItem in interface Listener
Overrides:
endListItem in class AbstractChainingListener

endMacroMarker

public void endMacroMarker(String name,
                           Map<String,String> parameters,
                           String content,
                           boolean isInline)
Description copied from interface: Listener
End of marker containing a macro definition.

Specified by:
endMacroMarker in interface Listener
Overrides:
endMacroMarker in class AbstractChainingListener
Parameters:
name - the macro name
parameters - the macro parameters
content - the macro content
isInline - if true the macro is located in a inline content (like paragraph, etc.)
See Also:
Listener.beginMacroMarker(String, java.util.Map, String, boolean)

endMetaData

public void endMetaData(MetaData metadata)
End of MetaData.

Specified by:
endMetaData in interface Listener
Overrides:
endMetaData in class AbstractChainingListener
Parameters:
metadata - the metadata
Since:
3.0M2

endParagraph

public void endParagraph(Map<String,String> parameters)
Description copied from interface: Listener
End of a paragraph.

Specified by:
endParagraph in interface Listener
Overrides:
endParagraph in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters. Example: style="background-color: blue"

endQuotation

public void endQuotation(Map<String,String> parameters)
Description copied from interface: Listener
End of a quotation.

Specified by:
endQuotation in interface Listener
Overrides:
endQuotation in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the quotation. Example: "style"/"background-color: blue"

endQuotationLine

public void endQuotationLine()
Description copied from interface: Listener
End of a quotation line.

Specified by:
endQuotationLine in interface Listener
Overrides:
endQuotationLine in class AbstractChainingListener

endSection

public void endSection(Map<String,String> parameters)
Description copied from interface: Listener
End of a section.

Specified by:
endSection in interface Listener
Overrides:
endSection in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters. Example: style="background-color: blue"
See Also:
HeaderLevel

endTable

public void endTable(Map<String,String> parameters)
Description copied from interface: Listener
End of a table.

Specified by:
endTable in interface Listener
Overrides:
endTable in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the table.

endTableCell

public void endTableCell(Map<String,String> parameters)
Description copied from interface: Listener
End of a table cell.

Specified by:
endTableCell in interface Listener
Overrides:
endTableCell in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the table cell.

endTableHeadCell

public void endTableHeadCell(Map<String,String> parameters)
Description copied from interface: Listener
End of a table head cell.

Specified by:
endTableHeadCell in interface Listener
Overrides:
endTableHeadCell in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the table head cell.

endTableRow

public void endTableRow(Map<String,String> parameters)
Description copied from interface: Listener
End of a table row.

Specified by:
endTableRow in interface Listener
Overrides:
endTableRow in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters for the table row.

onRawText

public void onRawText(String text,
                      Syntax syntax)
Description copied from interface: Listener
Some text to inject directly into the listener output without parsing it. For example a HTML macro could inject directly some HTML entered by the user into the rendered HTML output. Note that it's not recommended to use this event in most cases since it can lead to invalid content being generated and in addition most listener implementations will not understand the injected text and will just ignore it.

Specified by:
onRawText in interface Listener
Overrides:
onRawText in class AbstractChainingListener
Parameters:
text - the text to inject
syntax - the syntax in which the text is written. This is useful so that listener implementations can decide whether they can handle direct inject for that syntax

onEmptyLines

public void onEmptyLines(int count)
Description copied from interface: Listener
Represents an empty line between 2 standalone Blocks. A standalone block is block that is not included in another block. Standalone blocks are Paragraph, Standalone Macro, Lists, Table, etc.

Specified by:
onEmptyLines in interface Listener
Overrides:
onEmptyLines in class AbstractChainingListener
Parameters:
count - the number of empty lines between 2 standalone Blocks

onHorizontalLine

public void onHorizontalLine(Map<String,String> parameters)
Description copied from interface: Listener
Represents an horizontal line.

Specified by:
onHorizontalLine in interface Listener
Overrides:
onHorizontalLine in class AbstractChainingListener
Parameters:
parameters - a generic list of parameters. Example: style="background-color: blue"

onId

public void onId(String name)
Description copied from interface: Listener
A reference/location in a page. In HTML for example this is called an Anchor. It allows pointing to that location, for example in links. Note that there is no wiki syntax for this in general and it's often generated by Macros (such as the TOC Macro).

Specified by:
onId in interface Listener
Overrides:
onId in class AbstractChainingListener
Parameters:
name - the location name.

onImage

public void onImage(ResourceReference reference,
                    boolean isFreeStandingURI,
                    Map<String,String> parameters)
An image.

Specified by:
onImage in interface ImageListener
Overrides:
onImage in class AbstractChainingListener
Parameters:
reference - the image reference
isFreeStandingURI - if true then the image is defined directly as a URI in the text
parameters - a generic list of parameters. Example: style="background-color: blue"
Since:
2.5RC1

onMacro

public void onMacro(String id,
                    Map<String,String> parameters,
                    String content,
                    boolean isInline)
Description copied from interface: Listener
A Macro.

Specified by:
onMacro in interface Listener
Overrides:
onMacro in class AbstractChainingListener
Parameters:
id - the macro id (eg "toc" for the TOC macro)
parameters - the macro parameters
content - the macro content
isInline - if true the macro is located in a inline content (like paragraph, etc.)

onNewLine

public void onNewLine()
Description copied from interface: Listener
A new line or line break (it's up to the renderers to decide if it should be outputted as a new line or as a line break in the given syntax).

Specified by:
onNewLine in interface Listener
Overrides:
onNewLine in class AbstractChainingListener

onSpace

public void onSpace()
Description copied from interface: Listener
A space.

Specified by:
onSpace in interface Listener
Overrides:
onSpace in class AbstractChainingListener

onSpecialSymbol

public void onSpecialSymbol(char symbol)
Description copied from interface: Listener
A special symbol ("*", "<", ">", "=", quote, etc). Any non alpha numeric character is a special symbol.

Specified by:
onSpecialSymbol in interface Listener
Overrides:
onSpecialSymbol in class AbstractChainingListener
Parameters:
symbol - the symbol encountered

onVerbatim

public void onVerbatim(String protectedString,
                       boolean isInline,
                       Map<String,String> parameters)
Description copied from interface: Listener
A portion of text.

Specified by:
onVerbatim in interface Listener
Overrides:
onVerbatim in class AbstractChainingListener
Parameters:
protectedString - the string to protected from rendering
isInline - if true the text content is located in a inline content (like paragraph, etc.)
parameters - a generic list of parameters. Example: style="background-color: blue"

onWord

public void onWord(String word)
Description copied from interface: Listener
A word. Note that sentences ar broken into different events: word events, special symbols events, space events, etc. This allows fine-grained actions for listeners.

Specified by:
onWord in interface Listener
Overrides:
onWord in class AbstractChainingListener
Parameters:
word - the word encountered


Copyright © 2004-2014 XWiki. All Rights Reserved.