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);


Reply via email to