]> source.dussan.org Git - poi.git/commitdiff
Have the Excel text extractors all implement the same interface, as best as they can
authorNick Burch <nick@apache.org>
Sun, 2 Feb 2014 16:23:26 +0000 (16:23 +0000)
committerNick Burch <nick@apache.org>
Sun, 2 Feb 2014 16:23:26 +0000 (16:23 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1563650 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hssf/extractor/EventBasedExcelExtractor.java
src/ooxml/java/org/apache/poi/xssf/extractor/XSSFEventBasedExcelExtractor.java
src/ooxml/java/org/apache/poi/xssf/extractor/XSSFExcelExtractor.java

index aef71dc5481423f77d3b9595a56924fe84f38d51..541c048ae0aee69f36bdaeb8e4bc54333ddf65c3 100644 (file)
@@ -59,10 +59,10 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
  * <link href="http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/hssf/eventusermodel/examples/XLS2CSVmra.java">
  * http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/hssf/eventusermodel/examples/XLS2CSVmra.java</link>
  */
-public class EventBasedExcelExtractor extends POIOLE2TextExtractor {
-   private DirectoryNode _dir;
-       boolean _includeSheetNames = true;
-       boolean _formulasNotResults = false;
+public class EventBasedExcelExtractor extends POIOLE2TextExtractor implements org.apache.poi.ss.extractor.ExcelExtractor {
+    private DirectoryNode _dir;
+    boolean _includeSheetNames = true;
+    boolean _formulasNotResults = false;
 
     /**
      * @deprecated Use {@link #EventBasedExcelExtractor(DirectoryNode)} instead
@@ -109,7 +109,15 @@ public class EventBasedExcelExtractor extends POIOLE2TextExtractor {
                throw new IllegalStateException("Metadata extraction not supported in streaming mode, please use ExcelExtractor");
        }
 
+    /**
+     * Would control the inclusion of cell comments from the document,
+     *  if we supported it
+     */
+    public void setIncludeCellComments(boolean includeComments) {
+        throw new IllegalStateException("Comment extraction not supported in streaming mode, please use ExcelExtractor");
+    }
 
+    
        /**
         * Should sheet names be included? Default is true
         */
index a313271e58e00ee40811f0fcd1478a22b9e01e08..14bdd39aa5ac0a2539eba757c4f2afa0da14042e 100644 (file)
@@ -26,10 +26,10 @@ import javax.xml.parsers.SAXParser;
 import javax.xml.parsers.SAXParserFactory;
 
 import org.apache.poi.POIXMLProperties;
-import org.apache.poi.POIXMLTextExtractor;
 import org.apache.poi.POIXMLProperties.CoreProperties;
 import org.apache.poi.POIXMLProperties.CustomProperties;
 import org.apache.poi.POIXMLProperties.ExtendedProperties;
+import org.apache.poi.POIXMLTextExtractor;
 import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
 import org.apache.poi.openxml4j.opc.OPCPackage;
 import org.apache.poi.ss.usermodel.DataFormatter;
@@ -50,14 +50,15 @@ import org.xml.sax.XMLReader;
  * Implementation of a text extractor from OOXML Excel
  *  files that uses SAX event based parsing.
  */
-public class XSSFEventBasedExcelExtractor extends POIXMLTextExtractor {
-   private OPCPackage container;
-   private POIXMLProperties properties;
-   
-   private Locale locale;
-       private boolean includeSheetNames = true;
-       private boolean formulasNotResults = false;
-       private boolean includeTextBoxes = true;
+public class XSSFEventBasedExcelExtractor extends POIXMLTextExtractor 
+       implements org.apache.poi.ss.extractor.ExcelExtractor {
+    private OPCPackage container;
+    private POIXMLProperties properties;
+
+    private Locale locale;
+    private boolean includeSheetNames = true;
+    private boolean formulasNotResults = false;
+    private boolean includeTextBoxes = true;
 
        public XSSFEventBasedExcelExtractor(String path) throws XmlException, OpenXML4JException, IOException {
                this(OPCPackage.open(path));
@@ -97,12 +98,19 @@ public class XSSFEventBasedExcelExtractor extends POIXMLTextExtractor {
        /**
      * Should text from textboxes be included? Default is true
      */
-
        public void setIncludeTextBoxes(boolean includeTextBoxes) {
            this.includeTextBoxes = includeTextBoxes;
        }
        
-       public void setLocale(Locale locale) {
+       /**
+        * Would control the inclusion of cell comments from the document,
+        *  if we supported it
+        */
+       public void setIncludeCellComments(boolean includeCellComments) {
+           throw new IllegalStateException("Comment extraction not supported in streaming mode, please use XSSFExcelExtractor");
+    }
+       
+    public void setLocale(Locale locale) {
           this.locale = locale;
        }
        
index 1d7c877151cdf72e5fa424a949e9f94829fef2e6..ba3844ae0ec4724da09e839acb955ab1afca1cc6 100644 (file)
@@ -42,7 +42,8 @@ import org.apache.xmlbeans.XmlException;
 /**
  * Helper class to extract text from an OOXML Excel file
  */
-public class XSSFExcelExtractor extends POIXMLTextExtractor implements org.apache.poi.ss.extractor.ExcelExtractor {
+public class XSSFExcelExtractor extends POIXMLTextExtractor 
+       implements org.apache.poi.ss.extractor.ExcelExtractor {
     public static final XSSFRelation[] SUPPORTED_TYPES = new XSSFRelation[] {
         XSSFRelation.WORKBOOK, XSSFRelation.MACRO_TEMPLATE_WORKBOOK,
         XSSFRelation.MACRO_ADDIN_WORKBOOK, XSSFRelation.TEMPLATE_WORKBOOK,