Author: jukka
Date: Tue Jun 2 01:40:23 2009
New Revision: 780899
URL: http://svn.apache.org/viewvc?rev=780899&view=rev
Log:
TIKA-238: Better handling of delegating parser implementations
Use the DelegatingParser base class in the PackageParser.
Modified:
lucene/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
Modified:
lucene/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
URL:
http://svn.apache.org/viewvc/lucene/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java?rev=780899&r1=780898&r2=780899&view=diff
==============================================================================
---
lucene/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
(original)
+++
lucene/tika/trunk/tika-parsers/src/main/java/org/apache/tika/parser/pkg/PackageParser.java
Tue Jun 2 01:40:23 2009
@@ -22,8 +22,7 @@
import org.apache.commons.io.input.CloseShieldInputStream;
import org.apache.tika.exception.TikaException;
import org.apache.tika.metadata.Metadata;
-import org.apache.tika.parser.AutoDetectParser;
-import org.apache.tika.parser.Parser;
+import org.apache.tika.parser.DelegatingParser;
import org.apache.tika.sax.BodyContentHandler;
import org.apache.tika.sax.EmbeddedContentHandler;
import org.apache.tika.sax.XHTMLContentHandler;
@@ -39,37 +38,10 @@
* (optional) entry name as a <h1> element and the full
* structured body content of the parsed entry.
*/
-public abstract class PackageParser implements Parser {
+public abstract class PackageParser extends DelegatingParser {
/**
- * The parser instance used to parse package entries.
- */
- private Parser parser;
-
- /**
- * Returns the parser instance used to parse package entries.
- *
- * @return entry parser
- */
- public Parser getParser() {
- Parser parser = this.parser;
- if (parser == null) {
- parser = new AutoDetectParser();
- }
- return parser;
- }
-
- /**
- * Sets the parser instance used to parse package entries.
- *
- * @param parser entry parser
- */
- public void setParser(Parser parser) {
- this.parser = parser;
- }
-
- /**
- * Parses the given entry entry using the underlying parser instance.
+ * Parses the given entry entry using the delegate parser instance.
* It is not an error if the entry can not be parsed, in that case
* just the entry name (if given) is emitted.
*
@@ -90,7 +62,7 @@
}
try {
- getParser().parse(
+ super.parse(
new CloseShieldInputStream(stream),
new EmbeddedContentHandler(new BodyContentHandler(xhtml)),
metadata);