]> source.dussan.org Git - poi.git/commitdiff
Merged revisions 638786-638802,638805-638811,638813-638814,638816-639230,639233-63924...
authorNick Burch <nick@apache.org>
Thu, 10 Apr 2008 14:26:36 +0000 (14:26 +0000)
committerNick Burch <nick@apache.org>
Thu, 10 Apr 2008 14:26:36 +0000 (14:26 +0000)
https://svn.apache.org:443/repos/asf/poi/trunk

........
  r646312 | nick | 2008-04-09 13:46:42 +0100 (Wed, 09 Apr 2008) | 1 line

  Provide a common ole2 implementation of POITextExtractor, which gives access to the document metadata
........

git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@646818 13f79535-47bb-0310-9956-ffa450edef68

build.xml
src/java/org/apache/poi/POIOLE2TextExtractor.java [new file with mode: 0644]
src/java/org/apache/poi/hssf/extractor/ExcelExtractor.java
src/ooxml/java/org/apache/poi/extractor/ExtractorFactory.java
src/scratchpad/src/org/apache/poi/hdgf/extractor/VisioTextExtractor.java
src/scratchpad/src/org/apache/poi/hslf/extractor/PowerPointExtractor.java
src/scratchpad/src/org/apache/poi/hwpf/extractor/WordExtractor.java

index 5dd4a52fbc51308ea7cc14ba7ab1f15a1a4d1a77..64845c4d61398d013113dd1198bd55eae162cad1 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -220,6 +220,7 @@ under the License.
     <path id="ooxml.classpath">
         <path refid="main.classpath"/>
         <path refid="scratchpad.classpath"/>
+        <pathelement location="${scratchpad.output.dir}"/>
         <fileset dir="${ooxml.lib}">
                        <include name="*.jar" />
                </fileset>
diff --git a/src/java/org/apache/poi/POIOLE2TextExtractor.java b/src/java/org/apache/poi/POIOLE2TextExtractor.java
new file mode 100644 (file)
index 0000000..f5aee4c
--- /dev/null
@@ -0,0 +1,53 @@
+/* ====================================================================
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+==================================================================== */
+package org.apache.poi;
+
+import org.apache.poi.hpsf.DocumentSummaryInformation;
+import org.apache.poi.hpsf.SummaryInformation;
+
+/**
+ * Common Parent for OLE2 based Text Extractors
+ *  of POI Documents, such as .doc, .xls
+ * You will typically find the implementation of
+ *  a given format's text extractor under
+ *  org.apache.poi.[format].extractor .
+ * @see org.apache.poi.hssf.extractor.ExcelExtractor
+ * @see org.apache.poi.hslf.extractor.PowerPointExtractor
+ * @see org.apache.poi.hdgf.extractor.VisioTextExtractor
+ * @see org.apache.poi.hwpf.extractor.WordExtractor
+ */
+public abstract class POIOLE2TextExtractor extends POITextExtractor {
+       /**
+        * Creates a new text extractor for the given document
+        */
+       public POIOLE2TextExtractor(POIDocument document) {
+               super(document);
+       }
+       
+       /**
+        * Returns the document information metadata for the document
+        */
+       public DocumentSummaryInformation getDocSummaryInformation() {
+               return document.getDocumentSummaryInformation();
+       }
+       /**
+        * Returns the summary information metadata for the document
+        */
+       public SummaryInformation getSummaryInformation() {
+               return document.getSummaryInformation();
+       }
+}
index f45f54dff1d1c9b0f2546b3d46d4b85e97034de8..2a9c455caccd975696e7e98485a0878ea455e1d3 100644 (file)
@@ -18,7 +18,7 @@ package org.apache.poi.hssf.extractor;
 
 import java.io.IOException;
 
-import org.apache.poi.POITextExtractor;
+import org.apache.poi.POIOLE2TextExtractor;
 import org.apache.poi.hssf.usermodel.HSSFCell;
 import org.apache.poi.hssf.usermodel.HSSFRichTextString;
 import org.apache.poi.hssf.usermodel.HSSFRow;
@@ -35,7 +35,7 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
  *  the XLS2CSVmra example
  * @see org.apache.poi.hssf.eventusermodel.examples.XLS2CSVmra
  */
-public class ExcelExtractor extends POITextExtractor{
+public class ExcelExtractor extends POIOLE2TextExtractor {
        private HSSFWorkbook wb;
        private boolean includeSheetNames = true;
        private boolean formulasNotResults = false;
index 318b68d8f06f407c78e80d9d42c48db728256bc9..12321bfac2dff90f0311786455155db76b054b6f 100644 (file)
@@ -29,6 +29,7 @@ import org.openxml4j.opc.Package;
 import org.openxml4j.opc.PackagePart;
 import org.openxml4j.opc.PackageRelationshipCollection;
 
+import org.apache.poi.POIOLE2TextExtractor;
 import org.apache.poi.POITextExtractor;
 import org.apache.poi.POIXMLDocument;
 import org.apache.poi.POIXMLTextExtractor;
@@ -104,7 +105,7 @@ public class ExtractorFactory {
                throw new IllegalArgumentException("No supported documents found in the OOXML package");
        }
        
-       public static POITextExtractor createExtractor(POIFSFileSystem fs) throws IOException {
+       public static POIOLE2TextExtractor createExtractor(POIFSFileSystem fs) throws IOException {
                // Look for certain entries in the stream, to figure it
                //  out from
                for(Iterator entries = fs.getRoot().getEntries(); entries.hasNext(); ) {
index 034714c7bc8807321583b3203c4051715e110643..9b1307cee34ce9d2f952a0e2b66e685f17f6fa60 100644 (file)
@@ -21,7 +21,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.util.ArrayList;
 
-import org.apache.poi.POITextExtractor;
+import org.apache.poi.POIOLE2TextExtractor;
 import org.apache.poi.hdgf.HDGFDiagram;
 import org.apache.poi.hdgf.chunks.Chunk;
 import org.apache.poi.hdgf.chunks.Chunk.Command;
@@ -35,7 +35,7 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
  * Can opperate on the command line (outputs to stdout), or
  *  can return the text for you (eg for use with Lucene).
  */
-public class VisioTextExtractor extends POITextExtractor {
+public class VisioTextExtractor extends POIOLE2TextExtractor {
        private HDGFDiagram hdgf;
        private POIFSFileSystem fs;
 
index f2472270076aa4d56e455ae559ee842aa231fa71..cd9fa282560b04222b7b0e74dd3150128c65e61e 100644 (file)
@@ -23,7 +23,7 @@ package org.apache.poi.hslf.extractor;
 import java.io.*;
 import java.util.HashSet;
 
-import org.apache.poi.POITextExtractor;
+import org.apache.poi.POIOLE2TextExtractor;
 import org.apache.poi.poifs.filesystem.POIFSFileSystem;
 import org.apache.poi.hslf.*;
 import org.apache.poi.hslf.model.*;
@@ -36,7 +36,7 @@ import org.apache.poi.hslf.usermodel.*;
  * @author Nick Burch
  */
 
-public class PowerPointExtractor extends POITextExtractor
+public class PowerPointExtractor extends POIOLE2TextExtractor
 {
        private HSLFSlideShow _hslfshow;
        private SlideShow _show;
index 6f15ee1f9ac25fdb457eef1756084c7015557b52..85009459d75f932d284dd182798482dea6908d38 100644 (file)
@@ -22,7 +22,7 @@ import java.io.FileInputStream;
 import java.io.UnsupportedEncodingException;
 import java.util.Iterator;
 
-import org.apache.poi.POITextExtractor;
+import org.apache.poi.POIOLE2TextExtractor;
 import org.apache.poi.hwpf.HWPFDocument;
 import org.apache.poi.hwpf.model.TextPiece;
 import org.apache.poi.hwpf.usermodel.Paragraph;
@@ -37,7 +37,7 @@ import org.apache.poi.poifs.filesystem.POIFSFileSystem;
  *
  * @author Nick Burch (nick at torchbox dot com)
  */
-public class WordExtractor extends POITextExtractor {
+public class WordExtractor extends POIOLE2TextExtractor {
        private POIFSFileSystem fs;
        private HWPFDocument doc;