Class OLE2ScratchpadExtractorFactory

java.lang.Object
org.apache.poi.extractor.ole2.OLE2ScratchpadExtractorFactory
All Implemented Interfaces:
ExtractorProvider

public class OLE2ScratchpadExtractorFactory extends Object implements ExtractorProvider
Scratchpad-specific logic for ExtractorFactory and ExtractorFactory, which permit the other two to run with no Scratchpad jar (though without functionality!)

Note - should not be used standalone, always use via the other two classes

  • Constructor Details

    • OLE2ScratchpadExtractorFactory

      public OLE2ScratchpadExtractorFactory()
  • Method Details

    • accepts

      public boolean accepts(FileMagic fm)
      Specified by:
      accepts in interface ExtractorProvider
    • create

      public POITextExtractor create(File file, String password) throws IOException
      Description copied from interface: ExtractorProvider
      Create Extractor via file
      Specified by:
      create in interface ExtractorProvider
      Parameters:
      file - the file
      password - the password or null if not encrypted
      Returns:
      the extractor
      Throws:
      IOException - if file can't be read or parsed
    • create

      public POITextExtractor create(InputStream inputStream, String password) throws IOException
      Description copied from interface: ExtractorProvider
      Create Extractor via InputStream
      Specified by:
      create in interface ExtractorProvider
      Parameters:
      inputStream - the stream
      password - the password or null if not encrypted
      Returns:
      the extractor
      Throws:
      IOException - if stream can't be read or parsed
    • create

      public POITextExtractor create(DirectoryNode poifsDir, String password) throws IOException
      Look for certain entries in the stream, to figure it out what format is desired Note - doesn't check for core-supported formats! Note - doesn't check for OOXML-supported formats
      Specified by:
      create in interface ExtractorProvider
      Parameters:
      poifsDir - the directory node to be inspected
      password - the password or null if not encrypted
      Returns:
      the format specific text extractor
      Throws:
      IOException - when the format specific extraction fails because of invalid entires
    • identifyEmbeddedResources

      public void identifyEmbeddedResources(POIOLE2TextExtractor ext, List<Entry> dirs, List<InputStream> nonPOIFS)
      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.
      Specified by:
      identifyEmbeddedResources in interface ExtractorProvider
      Parameters:
      ext - the extractor holding the directory to start parsing
      dirs - a list to be filled with directory references holding embedded
      nonPOIFS - a list to be filled with streams which aren't based on POIFS entries