Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.poi.extractor
Class OLE2ExtractorFactory

    java.lang.Object
      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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2017 The Apache Software Foundation or its licensors, as applicable.