org.apache.poi.extractor
Class OLE2ExtractorFactory

java.lang.Object
  extended by org.apache.poi.extractor.OLE2ExtractorFactory

public class OLE2ExtractorFactory
extends java.lang.Object

Figures out the correct POIOLE2TextExtractor for your supplied document, and returns it.

Note 1 - will fail for many file formats if the POI Scratchpad jar is not present on the runtime classpath

Note 2 - for text extractor creation across all formats, use ExtractorFactory contained within the OOXML jar.

Note 3 - rather than using this, for most cases you would be better off switching to Apache Tika instead!


Constructor Summary
OLE2ExtractorFactory()
           
 
Method Summary
static POITextExtractor createExtractor(DirectoryNode poifsDir)
          Create the Extractor, if possible.
static POITextExtractor createExtractor(java.io.InputStream input)
           
static POIOLE2TextExtractor createExtractor(NPOIFSFileSystem fs)
           
static POIOLE2TextExtractor createExtractor(OPOIFSFileSystem fs)
           
static POIOLE2TextExtractor createExtractor(POIFSFileSystem fs)
           
static java.lang.Boolean getAllThreadsPreferEventExtractors()
          Should all threads prefer event based over usermodel based extractors? (usermodel extractors tend to be more accurate, but use more memory) Default is to use the thread level setting, which defaults to false.
static POITextExtractor[] getEmbededDocsTextExtractors(POIOLE2TextExtractor ext)
          Returns an array of text extractors, one for each of the embedded documents in the file (if there are any).
protected static boolean getPreferEventExtractor()
          Should this thread use event based extractors is available? Checks the all-threads one first, then thread specific.
static boolean getThreadPrefersEventExtractors()
          Should this thread prefer event based over usermodel based extractors? (usermodel extractors tend to be more accurate, but use more memory) Default is false.
static void setAllThreadsPreferEventExtractors(java.lang.Boolean preferEventExtractors)
          Should all threads prefer event based over usermodel based extractors? If set, will take preference over the Thread level setting.
static void setThreadPrefersEventExtractors(boolean preferEventExtractors)
          Should this thread prefer event based over usermodel based extractors? Will only be used if the All Threads setting is null.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OLE2ExtractorFactory

public OLE2ExtractorFactory()
Method Detail

getThreadPrefersEventExtractors

public static boolean getThreadPrefersEventExtractors()
Should this thread prefer event based over usermodel based extractors? (usermodel extractors tend to be more accurate, but use more memory) Default is false.


getAllThreadsPreferEventExtractors

public static java.lang.Boolean getAllThreadsPreferEventExtractors()
Should all threads prefer event based over usermodel based extractors? (usermodel extractors tend to be more accurate, but use more memory) Default is to use the thread level setting, which defaults to false.


setThreadPrefersEventExtractors

public static void setThreadPrefersEventExtractors(boolean preferEventExtractors)
Should this thread prefer event based over usermodel based extractors? Will only be used if the All Threads setting is null.


setAllThreadsPreferEventExtractors

public static void setAllThreadsPreferEventExtractors(java.lang.Boolean preferEventExtractors)
Should all threads prefer event based over usermodel based extractors? If set, will take preference over the Thread level setting.


getPreferEventExtractor

protected static boolean getPreferEventExtractor()
Should this thread use event based extractors is available? Checks the all-threads one first, then thread specific.


createExtractor

public static POIOLE2TextExtractor createExtractor(POIFSFileSystem fs)
                                            throws java.io.IOException
Throws:
java.io.IOException

createExtractor

public static POIOLE2TextExtractor createExtractor(NPOIFSFileSystem fs)
                                            throws java.io.IOException
Throws:
java.io.IOException

createExtractor

public static POIOLE2TextExtractor createExtractor(OPOIFSFileSystem fs)
                                            throws java.io.IOException
Throws:
java.io.IOException

createExtractor

public static POITextExtractor createExtractor(java.io.InputStream input)
                                        throws java.io.IOException
Throws:
java.io.IOException

createExtractor

public static POITextExtractor createExtractor(DirectoryNode poifsDir)
                                        throws java.io.IOException
Create the Extractor, if possible. Generally needs the Scratchpad jar. Note that this won't check for embedded OOXML resources either, use ExtractorFactory for that.

Throws:
java.io.IOException

getEmbededDocsTextExtractors

public static POITextExtractor[] getEmbededDocsTextExtractors(POIOLE2TextExtractor ext)
                                                       throws java.io.IOException
Returns an array of text extractors, one for each of the embedded documents in the file (if there are any). If there are no embedded documents, you'll get back an empty array. Otherwise, you'll get one open POITextExtractor for each embedded file.

Throws:
java.io.IOException