Author: ltheussl Date: Mon Jun 15 11:46:08 2009 New Revision: 784737 URL: http://svn.apache.org/viewvc?rev=784737&view=rev Log: Add an init() method to initialize a parser for multiple runs
Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java Modified: maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java?rev=784737&r1=784736&r2=784737&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java (original) +++ maven/doxia/doxia/trunk/doxia-core/src/main/java/org/apache/maven/doxia/parser/AbstractXmlParser.java Mon Jun 15 11:46:08 2009 @@ -124,6 +124,8 @@ public void parse( Reader source, Sink sink ) throws ParseException { + init(); + // 1 first parsing if validation is required if ( isValidate() ) { @@ -208,6 +210,18 @@ } /** + * Initialize the parser. This is called first by + * {...@link #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. + * + * @since 1.1.1 + */ + protected void init() + { + // default: empty + } + + /** * Parse the model from the XmlPullParser into the given sink. * * @param parser A parser, not null. Modified: maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java URL: http://svn.apache.org/viewvc/maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java?rev=784737&r1=784736&r2=784737&view=diff ============================================================================== --- maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java (original) +++ maven/doxia/doxia/trunk/doxia-modules/doxia-module-docbook-simple/src/main/java/org/apache/maven/doxia/module/docbook/DocBookParser.java Mon Jun 15 11:46:08 2009 @@ -62,7 +62,8 @@ private boolean simpleTag; - private char trademark = '\u2122'; + private char trademark; + /** * A selective stack of parent elements */ @@ -167,6 +168,18 @@ IGNORABLE_ELEMENTS.add( SimplifiedDocbookMarkup.VOLUMENUM_TAG.toString() ); } + /** {...@inheritdoc} */ + protected void init() + { + parent.clear(); + trademark = 0; + level = 0; + isBold = false; + inHead = false; + ignore = false; + simpleTag = false; + } + // ---------------------------------------------------------------------- // // ----------------------------------------------------------------------