org.xwiki.rendering.internal.parser.wikimodel
Class DefaultXWikiGeneratorListener

java.lang.Object
  extended by org.xwiki.rendering.internal.parser.wikimodel.DefaultXWikiGeneratorListener
All Implemented Interfaces:
org.wikimodel.wem.IWemListener, org.wikimodel.wem.IWemListenerDocument, org.wikimodel.wem.IWemListenerInline, org.wikimodel.wem.IWemListenerList, org.wikimodel.wem.IWemListenerProgramming, org.wikimodel.wem.IWemListenerSemantic, org.wikimodel.wem.IWemListenerSimpleBlocks, org.wikimodel.wem.IWemListenerTable, XWikiGeneratorListener
Direct Known Subclasses:
XHTMLXWikiGeneratorListener, XWiki21XWikiGeneratorListener

public class DefaultXWikiGeneratorListener
extends java.lang.Object
implements XWikiGeneratorListener

Transforms WikiModel events into XWiki Rendering events.

Since:
2.1RC1
Version:
$Id$

Field Summary
static java.lang.String EXT_ID
          Identifier of the extension used to generate id blocks.
 
Constructor Summary
DefaultXWikiGeneratorListener(StreamParser parser, Listener listener, ResourceReferenceParser linkReferenceParser, ResourceReferenceParser imageReferenceParser, PrintRendererFactory plainRendererFactory, IdGenerator idGenerator, Syntax syntax)
           
 
Method Summary
 void beginDefinitionDescription()
          
 void beginDefinitionList(org.wikimodel.wem.WikiParameters params)
          
 void beginDefinitionTerm()
          
 void beginDocument(org.wikimodel.wem.WikiParameters params)
          
 void beginFormat(org.wikimodel.wem.WikiFormat format)
          A format is a special formatting around an inline element, such as bold, italics, etc.
 void beginHeader(int level, org.wikimodel.wem.WikiParameters params)
          
 void beginInfoBlock(java.lang.String infoType, org.wikimodel.wem.WikiParameters params)
          
 void beginList(org.wikimodel.wem.WikiParameters params, boolean ordered)
          
 void beginListItem()
          
 void beginParagraph(org.wikimodel.wem.WikiParameters params)
          
 void beginPropertyBlock(java.lang.String propertyUri, boolean doc)
          
 void beginPropertyInline(java.lang.String str)
          
 void beginQuotation(org.wikimodel.wem.WikiParameters params)
          
 void beginQuotationLine()
          
 void beginSection(int docLevel, int headerLevel, org.wikimodel.wem.WikiParameters params)
          
 void beginSectionContent(int docLevel, int headerLevel, org.wikimodel.wem.WikiParameters params)
          
 void beginTable(org.wikimodel.wem.WikiParameters params)
          
 void beginTableCell(boolean tableHead, org.wikimodel.wem.WikiParameters params)
          
 void beginTableRow(org.wikimodel.wem.WikiParameters params)
          
protected  java.util.Map<java.lang.String,java.lang.String> convertParameters(org.wikimodel.wem.WikiParameters params)
          Convert Wikimodel parameters to XWiki parameters format.
 void endDefinitionDescription()
          
 void endDefinitionList(org.wikimodel.wem.WikiParameters params)
          
 void endDefinitionTerm()
          
 void endDocument(org.wikimodel.wem.WikiParameters params)
          
 void endFormat(org.wikimodel.wem.WikiFormat format)
          
 void endHeader(int level, org.wikimodel.wem.WikiParameters params)
          
 void endInfoBlock(java.lang.String infoType, org.wikimodel.wem.WikiParameters params)
          
 void endList(org.wikimodel.wem.WikiParameters params, boolean ordered)
          
 void endListItem()
          
 void endParagraph(org.wikimodel.wem.WikiParameters params)
          
 void endPropertyBlock(java.lang.String propertyUri, boolean doc)
          
 void endPropertyInline(java.lang.String inlineProperty)
          
 void endQuotation(org.wikimodel.wem.WikiParameters params)
          
 void endQuotationLine()
          
 void endSection(int docLevel, int headerLevel, org.wikimodel.wem.WikiParameters params)
          
 void endSectionContent(int docLevel, int headerLevel, org.wikimodel.wem.WikiParameters params)
          
 void endTable(org.wikimodel.wem.WikiParameters params)
          
 void endTableCell(boolean tableHead, org.wikimodel.wem.WikiParameters params)
          
 void endTableRow(org.wikimodel.wem.WikiParameters params)
          
protected  void flushFormat()
           
protected  ResourceReferenceParser getImageReferenceParser()
           
protected  ResourceReferenceParser getLinkReferenceParser()
           
 Listener getListener()
          Returns the 'default' listener to send xwiki events to, the top of the listeners stack.
 void onEmptyLines(int count)
          Called by wikimodel when there are 2 or more empty lines between blocks.
 void onEscape(java.lang.String str)
          
 void onExtensionBlock(java.lang.String extensionName, org.wikimodel.wem.WikiParameters params)
          
 void onExtensionInline(java.lang.String extensionName, org.wikimodel.wem.WikiParameters params)
          
 void onHorizontalLine(org.wikimodel.wem.WikiParameters params)
          
protected  void onImage(ResourceReference reference, boolean isFreeStandingURI, java.util.Map<java.lang.String,java.lang.String> parameters)
           
 void onImage(java.lang.String reference)
          
protected  void onImage(java.lang.String reference, boolean isFreeStandingURI, java.util.Map<java.lang.String,java.lang.String> parameters)
           
 void onImage(org.wikimodel.wem.WikiReference reference)
          
 void onLineBreak()
          
 void onMacroBlock(java.lang.String macroName, org.wikimodel.wem.WikiParameters params, java.lang.String content)
          A macro block was found and it's separated at least by one new line from the next block.
 void onMacroInline(java.lang.String macroName, org.wikimodel.wem.WikiParameters params, java.lang.String content)
          
 void onNewLine()
          
protected  void onReference(ResourceReference reference, java.lang.String label, boolean isFreeStandingURI, java.util.Map<java.lang.String,java.lang.String> parameters)
           
 void onReference(java.lang.String reference)
          
protected  void onReference(java.lang.String reference, java.lang.String label, boolean isFreeStandingURI, java.util.Map<java.lang.String,java.lang.String> parameters)
           
 void onReference(org.wikimodel.wem.WikiReference reference)
          
 void onSpace(java.lang.String spaces)
          
 void onSpecialSymbol(java.lang.String symbol)
          
 void onTableCaption(java.lang.String str)
          
 void onVerbatimBlock(java.lang.String protectedString, org.wikimodel.wem.WikiParameters params)
          
 void onVerbatimInline(java.lang.String protectedString, org.wikimodel.wem.WikiParameters params)
          
 void onWord(java.lang.String str)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXT_ID

public static final java.lang.String EXT_ID
Identifier of the extension used to generate id blocks.

See Also:
Constant Field Values
Constructor Detail

DefaultXWikiGeneratorListener

public DefaultXWikiGeneratorListener(StreamParser parser,
                                     Listener listener,
                                     ResourceReferenceParser linkReferenceParser,
                                     ResourceReferenceParser imageReferenceParser,
                                     PrintRendererFactory plainRendererFactory,
                                     IdGenerator idGenerator,
                                     Syntax syntax)
Since:
3.0M3
See Also:
wikimodel issue 87
Method Detail

getListener

public Listener getListener()
Returns the 'default' listener to send xwiki events to, the top of the listeners stack.

Specified by:
getListener in interface XWikiGeneratorListener
Returns:
the listener to send xwiki events to

getLinkReferenceParser

protected ResourceReferenceParser getLinkReferenceParser()
Since:
2.5RC1

getImageReferenceParser

protected ResourceReferenceParser getImageReferenceParser()
Since:
2.5RC1

convertParameters

protected java.util.Map<java.lang.String,java.lang.String> convertParameters(org.wikimodel.wem.WikiParameters params)
Convert Wikimodel parameters to XWiki parameters format.

Parameters:
params - the wikimodel parameters to convert
Returns:
the parameters in XWiki format

flushFormat

protected void flushFormat()

beginDefinitionDescription

public void beginDefinitionDescription()

Specified by:
beginDefinitionDescription in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.beginDefinitionDescription()

beginDefinitionList

public void beginDefinitionList(org.wikimodel.wem.WikiParameters params)

Specified by:
beginDefinitionList in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.beginDefinitionList(org.wikimodel.wem.WikiParameters)

beginDefinitionTerm

public void beginDefinitionTerm()

Specified by:
beginDefinitionTerm in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.beginDefinitionTerm()

beginDocument

public void beginDocument(org.wikimodel.wem.WikiParameters params)

Specified by:
beginDocument in interface org.wikimodel.wem.IWemListenerDocument
See Also:
IWemListenerDocument.beginDocument(WikiParameters)

beginFormat

public void beginFormat(org.wikimodel.wem.WikiFormat format)
A format is a special formatting around an inline element, such as bold, italics, etc.

Specified by:
beginFormat in interface org.wikimodel.wem.IWemListenerInline

beginSection

public void beginSection(int docLevel,
                         int headerLevel,
                         org.wikimodel.wem.WikiParameters params)

Specified by:
beginSection in interface org.wikimodel.wem.IWemListenerDocument
See Also:
IWemListenerDocument.beginSection(int, int, WikiParameters)

beginSectionContent

public void beginSectionContent(int docLevel,
                                int headerLevel,
                                org.wikimodel.wem.WikiParameters params)

Specified by:
beginSectionContent in interface org.wikimodel.wem.IWemListenerDocument
See Also:
IWemListenerDocument.beginSectionContent(int, int, WikiParameters)

beginHeader

public void beginHeader(int level,
                        org.wikimodel.wem.WikiParameters params)

Specified by:
beginHeader in interface org.wikimodel.wem.IWemListenerDocument
See Also:
IWemListenerDocument.beginHeader(int, WikiParameters)

beginInfoBlock

public void beginInfoBlock(java.lang.String infoType,
                           org.wikimodel.wem.WikiParameters params)

Specified by:
beginInfoBlock in interface org.wikimodel.wem.IWemListenerSimpleBlocks
See Also:
IWemListenerSimpleBlocks.beginInfoBlock(String, WikiParameters)

beginList

public void beginList(org.wikimodel.wem.WikiParameters params,
                      boolean ordered)

Specified by:
beginList in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.beginList(WikiParameters, boolean)

beginListItem

public void beginListItem()

Specified by:
beginListItem in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.beginListItem()

beginParagraph

public void beginParagraph(org.wikimodel.wem.WikiParameters params)

Specified by:
beginParagraph in interface org.wikimodel.wem.IWemListenerSimpleBlocks
See Also:
IWemListenerSimpleBlocks.beginParagraph(WikiParameters)

beginPropertyBlock

public void beginPropertyBlock(java.lang.String propertyUri,
                               boolean doc)

Specified by:
beginPropertyBlock in interface org.wikimodel.wem.IWemListenerSemantic
See Also:
IWemListenerSemantic.beginPropertyBlock(String, boolean)

beginPropertyInline

public void beginPropertyInline(java.lang.String str)

Specified by:
beginPropertyInline in interface org.wikimodel.wem.IWemListenerSemantic
See Also:
IWemListenerSemantic.beginPropertyInline(String)

beginQuotation

public void beginQuotation(org.wikimodel.wem.WikiParameters params)

Specified by:
beginQuotation in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.beginQuotation(WikiParameters)

beginQuotationLine

public void beginQuotationLine()

Specified by:
beginQuotationLine in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.beginQuotationLine()

beginTable

public void beginTable(org.wikimodel.wem.WikiParameters params)

Specified by:
beginTable in interface org.wikimodel.wem.IWemListenerTable
See Also:
IWemListenerTable.beginTable(WikiParameters)

beginTableCell

public void beginTableCell(boolean tableHead,
                           org.wikimodel.wem.WikiParameters params)

Specified by:
beginTableCell in interface org.wikimodel.wem.IWemListenerTable
See Also:
IWemListenerTable.beginTableCell(boolean, WikiParameters)

beginTableRow

public void beginTableRow(org.wikimodel.wem.WikiParameters params)

Specified by:
beginTableRow in interface org.wikimodel.wem.IWemListenerTable
See Also:
IWemListenerTable.beginTableRow(WikiParameters)

endDefinitionDescription

public void endDefinitionDescription()

Specified by:
endDefinitionDescription in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.endDefinitionDescription()

endDefinitionList

public void endDefinitionList(org.wikimodel.wem.WikiParameters params)

Specified by:
endDefinitionList in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.endDefinitionList(WikiParameters)

endDefinitionTerm

public void endDefinitionTerm()

Specified by:
endDefinitionTerm in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.endDefinitionTerm()

endDocument

public void endDocument(org.wikimodel.wem.WikiParameters params)

Specified by:
endDocument in interface org.wikimodel.wem.IWemListenerDocument
See Also:
IWemListenerDocument.endDocument(WikiParameters)

endFormat

public void endFormat(org.wikimodel.wem.WikiFormat format)

Specified by:
endFormat in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.endFormat(WikiFormat)

endHeader

public void endHeader(int level,
                      org.wikimodel.wem.WikiParameters params)

Specified by:
endHeader in interface org.wikimodel.wem.IWemListenerDocument
See Also:
IWemListenerDocument.endHeader(int, WikiParameters)

endSection

public void endSection(int docLevel,
                       int headerLevel,
                       org.wikimodel.wem.WikiParameters params)

Specified by:
endSection in interface org.wikimodel.wem.IWemListenerDocument
See Also:
IWemListenerDocument.endSection(int, int, WikiParameters)

endSectionContent

public void endSectionContent(int docLevel,
                              int headerLevel,
                              org.wikimodel.wem.WikiParameters params)

Specified by:
endSectionContent in interface org.wikimodel.wem.IWemListenerDocument
See Also:
IWemListenerDocument.endSectionContent(int, int, WikiParameters)

endInfoBlock

public void endInfoBlock(java.lang.String infoType,
                         org.wikimodel.wem.WikiParameters params)

Specified by:
endInfoBlock in interface org.wikimodel.wem.IWemListenerSimpleBlocks
See Also:
IWemListenerSimpleBlocks.endInfoBlock(String, WikiParameters)

endList

public void endList(org.wikimodel.wem.WikiParameters params,
                    boolean ordered)

Specified by:
endList in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.endList(WikiParameters, boolean)

endListItem

public void endListItem()

Specified by:
endListItem in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.endListItem()

endParagraph

public void endParagraph(org.wikimodel.wem.WikiParameters params)

Specified by:
endParagraph in interface org.wikimodel.wem.IWemListenerSimpleBlocks
See Also:
IWemListenerSimpleBlocks.endParagraph(WikiParameters)

endPropertyBlock

public void endPropertyBlock(java.lang.String propertyUri,
                             boolean doc)

Specified by:
endPropertyBlock in interface org.wikimodel.wem.IWemListenerSemantic
See Also:
IWemListenerSemantic.endPropertyBlock(String, boolean)

endPropertyInline

public void endPropertyInline(java.lang.String inlineProperty)

Specified by:
endPropertyInline in interface org.wikimodel.wem.IWemListenerSemantic
See Also:
IWemListenerSemantic.endPropertyInline(String)

endQuotation

public void endQuotation(org.wikimodel.wem.WikiParameters params)

Specified by:
endQuotation in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.endQuotation(WikiParameters)

endQuotationLine

public void endQuotationLine()

Specified by:
endQuotationLine in interface org.wikimodel.wem.IWemListenerList
See Also:
IWemListenerList.endQuotationLine()

endTable

public void endTable(org.wikimodel.wem.WikiParameters params)

Specified by:
endTable in interface org.wikimodel.wem.IWemListenerTable
See Also:
IWemListenerTable.endTable(WikiParameters)

endTableCell

public void endTableCell(boolean tableHead,
                         org.wikimodel.wem.WikiParameters params)

Specified by:
endTableCell in interface org.wikimodel.wem.IWemListenerTable
See Also:
IWemListenerTable.endTableCell(boolean, WikiParameters)

endTableRow

public void endTableRow(org.wikimodel.wem.WikiParameters params)

Specified by:
endTableRow in interface org.wikimodel.wem.IWemListenerTable
See Also:
IWemListenerTable.endTableRow(WikiParameters)

onEmptyLines

public void onEmptyLines(int count)
Called by wikimodel when there are 2 or more empty lines between blocks. For example the following will generate a call to onEmptyLines(2):

 {{macro/}}
 ... empty line 1...
 ... empty line 2...
 {{macro/}}
 

Specified by:
onEmptyLines in interface org.wikimodel.wem.IWemListenerSimpleBlocks
Parameters:
count - the number of empty lines separating the two blocks

onEscape

public void onEscape(java.lang.String str)

Specified by:
onEscape in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.onEscape(String)

onExtensionBlock

public void onExtensionBlock(java.lang.String extensionName,
                             org.wikimodel.wem.WikiParameters params)

Specified by:
onExtensionBlock in interface org.wikimodel.wem.IWemListenerProgramming
See Also:
IWemListenerProgramming.onExtensionBlock(String, WikiParameters)

onExtensionInline

public void onExtensionInline(java.lang.String extensionName,
                              org.wikimodel.wem.WikiParameters params)

Specified by:
onExtensionInline in interface org.wikimodel.wem.IWemListenerProgramming
See Also:
IWemListenerProgramming.onExtensionInline(String, WikiParameters)

onHorizontalLine

public void onHorizontalLine(org.wikimodel.wem.WikiParameters params)

Specified by:
onHorizontalLine in interface org.wikimodel.wem.IWemListenerSimpleBlocks
See Also:
IWemListenerSimpleBlocks.onHorizontalLine(org.wikimodel.wem.WikiParameters)

onLineBreak

public void onLineBreak()

Specified by:
onLineBreak in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.onLineBreak()

onMacroBlock

public void onMacroBlock(java.lang.String macroName,
                         org.wikimodel.wem.WikiParameters params,
                         java.lang.String content)
A macro block was found and it's separated at least by one new line from the next block. If there's no new line with the next block then wikimodel calls onMacroInline(String, org.wikimodel.wem.WikiParameters, String) instead.

In wikimodel block elements can be:

Specified by:
onMacroBlock in interface org.wikimodel.wem.IWemListenerProgramming

onMacroInline

public void onMacroInline(java.lang.String macroName,
                          org.wikimodel.wem.WikiParameters params,
                          java.lang.String content)

Specified by:
onMacroInline in interface org.wikimodel.wem.IWemListenerProgramming
See Also:
IWemListenerProgramming.onMacroInline(String, WikiParameters, String)

onNewLine

public void onNewLine()

Specified by:
onNewLine in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.onLineBreak()

onReference

public void onReference(java.lang.String reference)

Called when WikiModel finds an reference (link or image) such as a URI located directly in the text (free-standing URI), as opposed to a link/image inside wiki link/image syntax delimiters.

Specified by:
onReference in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.onLineBreak()

onReference

public void onReference(org.wikimodel.wem.WikiReference reference)

Specified by:
onReference in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.onReference(String)

onReference

protected void onReference(java.lang.String reference,
                           java.lang.String label,
                           boolean isFreeStandingURI,
                           java.util.Map<java.lang.String,java.lang.String> parameters)

onReference

protected void onReference(ResourceReference reference,
                           java.lang.String label,
                           boolean isFreeStandingURI,
                           java.util.Map<java.lang.String,java.lang.String> parameters)

onImage

public void onImage(java.lang.String reference)

Specified by:
onImage in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.onImage(java.lang.String)

onImage

public void onImage(org.wikimodel.wem.WikiReference reference)

Specified by:
onImage in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.onImage(org.wikimodel.wem.WikiReference)

onImage

protected void onImage(java.lang.String reference,
                       boolean isFreeStandingURI,
                       java.util.Map<java.lang.String,java.lang.String> parameters)
Since:
2.5RC1

onImage

protected void onImage(ResourceReference reference,
                       boolean isFreeStandingURI,
                       java.util.Map<java.lang.String,java.lang.String> parameters)
Since:
2.5RC1

onSpace

public void onSpace(java.lang.String spaces)

Specified by:
onSpace in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.onSpace(String)

onSpecialSymbol

public void onSpecialSymbol(java.lang.String symbol)

Specified by:
onSpecialSymbol in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.onSpecialSymbol(String)

onTableCaption

public void onTableCaption(java.lang.String str)

Specified by:
onTableCaption in interface org.wikimodel.wem.IWemListenerTable
See Also:
IWemListenerTable.onTableCaption(String)

onVerbatimBlock

public void onVerbatimBlock(java.lang.String protectedString,
                            org.wikimodel.wem.WikiParameters params)

Specified by:
onVerbatimBlock in interface org.wikimodel.wem.IWemListenerSimpleBlocks
See Also:
IWemListenerSimpleBlocks.onVerbatimBlock(String, WikiParameters)

onVerbatimInline

public void onVerbatimInline(java.lang.String protectedString,
                             org.wikimodel.wem.WikiParameters params)

Specified by:
onVerbatimInline in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.onVerbatimInline(String, WikiParameters)

onWord

public void onWord(java.lang.String str)

Specified by:
onWord in interface org.wikimodel.wem.IWemListenerInline
See Also:
IWemListenerInline.onWord(String)


Copyright © 2004-2011 XWiki. All Rights Reserved.