org.apache.maven.doxia.module.fml
Class FmlParser

java.lang.Object
  extended by org.apache.maven.doxia.parser.AbstractParser
      extended by org.apache.maven.doxia.parser.AbstractXmlParser
          extended by org.apache.maven.doxia.module.fml.FmlParser
All Implemented Interfaces:
LogEnabled, HtmlMarkup, Markup, XmlMarkup, FmlMarkup, Parser

public class FmlParser
extends AbstractXmlParser
implements FmlMarkup

Parse a fml model and emit events into the specified doxia Sink.

Since:
1.0
Version:
$Id: FmlParser.java 1090706 2011-04-09 23:15:28Z hboutemy $
Author:
Emmanuel Venisse, ltheussl
Plexus component:
role:
"org.apache.maven.doxia.parser.Parser"
role-hint:
"fml"

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.maven.doxia.parser.AbstractXmlParser
AbstractXmlParser.CachedFileEntityResolver
 
Field Summary
 
Fields inherited from interface org.apache.maven.doxia.module.fml.FmlMarkup
ANSWER_TAG, FAQ_TAG, FAQS_TAG, FML_NAMESPACE, FML_SYSTEM_ID, MACRO_TAG, PART_TAG, QUESTION_TAG, SOURCE_TAG
 
Fields inherited from interface org.apache.maven.doxia.markup.HtmlMarkup
A, ABBR, ACRONYM, ADDRESS, APPLET, AREA, B, BASE, BASEFONT, BDO, BIG, BLOCKQUOTE, BODY, BR, BUTTON, CAPTION, CDATA_TYPE, CENTER, CITE, CODE, COL, COLGROUP, DD, DEL, DFN, DIR, DIV, DL, DT, EM, ENTITY_TYPE, FIELDSET, FONT, FORM, FRAME, FRAMESET, H1, H2, H3, H4, H5, H6, HEAD, HR, HTML, I, IFRAME, IMG, INPUT, INS, ISINDEX, KBD, LABEL, LEGEND, LI, LINK, MAP, MENU, META, NOFRAMES, NOSCRIPT, OBJECT, OL, OPTGROUP, OPTION, P, PARAM, PRE, Q, S, SAMP, SCRIPT, SELECT, SMALL, SPAN, STRIKE, STRONG, STYLE, SUB, SUP, TABLE, TAG_TYPE_END, TAG_TYPE_SIMPLE, TAG_TYPE_START, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TITLE, TR, TT, U, UL, VAR
 
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.parser.Parser
ROLE, TXT_TYPE, UNKNOWN_TYPE, XML_TYPE
 
Constructor Summary
FmlParser()
           
 
Method Summary
protected  void handleCdsect(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)
          Handles CDATA sections.
protected  void handleComment(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)
          Handles comments.
protected  void handleEndTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)
          Goes through the possible end tags.
protected  void handleEntity(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)
          Handles entities.
protected  void handleStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)
          Goes through the possible start tags.
protected  void handleText(org.codehaus.plexus.util.xml.pull.XmlPullParser parser, Sink sink)
          Handles text events.
protected  void init()
          Initialize the parser.
 void parse(Reader source, Sink sink)
          Parses the given source model and emits Doxia events into the given sink.
 
Methods inherited from class org.apache.maven.doxia.parser.AbstractXmlParser
getAttributesFromParser, getLocalEntities, getText, getType, handleUnknown, isCollapsibleWhitespace, isIgnorableWhitespace, isTrimmableWhitespace, isValidate, parse, setCollapsibleWhitespace, setIgnorableWhitespace, setTrimmableWhitespace, setValidate
 
Methods inherited from class org.apache.maven.doxia.parser.AbstractParser
doxiaVersion, enableLogging, executeMacro, getBasedir, getLog, getMacroManager, isSecondParsing, setSecondParsing
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FmlParser

public FmlParser()
Method Detail

parse

public void parse(Reader source,
                  Sink sink)
           throws ParseException
Parses the given source model and emits Doxia events into the given sink.

Specified by:
parse in interface Parser
Overrides:
parse in class AbstractXmlParser
Parameters:
source - not null reader that provides the source document. You could use newReader methods from ReaderFactory.
sink - A sink that consumes the Doxia events.
Throws:
ParseException - if the model could not be parsed.

handleStartTag

protected void handleStartTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
                              Sink sink)
                       throws org.codehaus.plexus.util.xml.pull.XmlPullParserException,
                              MacroExecutionException
Goes through the possible start tags.

Specified by:
handleStartTag in class AbstractXmlParser
Parameters:
parser - A parser, not null.
sink - the sink to receive the events.
Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException - if there's a problem parsing the model
MacroExecutionException - if there's a problem executing a macro

handleEndTag

protected void handleEndTag(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
                            Sink sink)
                     throws org.codehaus.plexus.util.xml.pull.XmlPullParserException,
                            MacroExecutionException
Goes through the possible end tags.

Specified by:
handleEndTag in class AbstractXmlParser
Parameters:
parser - A parser, not null.
sink - the sink to receive the events.
Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException - if there's a problem parsing the model
MacroExecutionException - if there's a problem executing a macro

handleText

protected void handleText(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
                          Sink sink)
                   throws org.codehaus.plexus.util.xml.pull.XmlPullParserException
Handles text events.

This is a default implementation, if the parser points to a non-empty text element, it is emitted as a text event into the specified sink.

Overrides:
handleText in class AbstractXmlParser
Parameters:
parser - A parser, not null.
sink - the sink to receive the events. Not null.
Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException - if there's a problem parsing the model

handleCdsect

protected void handleCdsect(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
                            Sink sink)
                     throws org.codehaus.plexus.util.xml.pull.XmlPullParserException
Handles CDATA sections.

This is a default implementation, all data are emitted as text events into the specified sink.

Overrides:
handleCdsect in class AbstractXmlParser
Parameters:
parser - A parser, not null.
sink - the sink to receive the events. Not null.
Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException - if there's a problem parsing the model

handleComment

protected void handleComment(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
                             Sink sink)
                      throws org.codehaus.plexus.util.xml.pull.XmlPullParserException
Handles comments.

This is a default implementation, all data are emitted as comment events into the specified sink.

Overrides:
handleComment in class AbstractXmlParser
Parameters:
parser - A parser, not null.
sink - the sink to receive the events. Not null.
Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException - if there's a problem parsing the model

handleEntity

protected void handleEntity(org.codehaus.plexus.util.xml.pull.XmlPullParser parser,
                            Sink sink)
                     throws org.codehaus.plexus.util.xml.pull.XmlPullParserException
Handles entities.

This is a default implementation, all entities are resolved and emitted as text events into the specified sink, except:

Overrides:
handleEntity in class AbstractXmlParser
Parameters:
parser - A parser, not null.
sink - the sink to receive the events. Not null.
Throws:
org.codehaus.plexus.util.xml.pull.XmlPullParserException - if there's a problem parsing the model

init

protected void init()
Initialize the parser. This is called first by Parser.parse(java.io.Reader, org.apache.maven.doxia.sink.Sink) and can be used to set the parser into a clear state so it can be re-used.

Overrides:
init in class AbstractParser


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