org.apache.tika.parser.microsoft
Class POIFSContainerDetector

java.lang.Object
  extended by org.apache.tika.parser.microsoft.POIFSContainerDetector
All Implemented Interfaces:
Serializable, Detector

public class POIFSContainerDetector
extends Object
implements Detector

A detector that works on a POIFS OLE2 document to figure out exactly what the file is. This should work for all OLE2 documents, whether they are ones supported by POI or not.

See Also:
Serialized Form

Field Summary
static MediaType COMP_OBJ
          Some other kind of embedded document, in a CompObj container within another OLE2 document
static MediaType DOC
          Microsoft Word
static MediaType GENERAL_EMBEDDED
          General embedded document type within an OLE2 container
static MediaType MPP
          Microsoft Project
static MediaType MSG
          Microsoft Outlook
static MediaType OLE
          The OLE base file format
static MediaType OLE10_NATIVE
          An OLE10 Native embedded document within another OLE2 document
static MediaType OOXML_PROTECTED
          The protected OOXML base file format
static MediaType PPT
          Microsoft PowerPoint
static MediaType PUB
          Microsoft Publisher
static MediaType SDA
          StarOffice Draw
static MediaType SDC
          StarOffice Calc
static MediaType SDD
          StarOffice Impress
static MediaType SDW
          StarOffice Writer
static MediaType VSD
          Microsoft Visio
static MediaType WPS
          Microsoft Works
static MediaType XLR
          Microsoft Works Spreadsheet 7.0
static MediaType XLS
          Microsoft Excel
 
Constructor Summary
POIFSContainerDetector()
           
 
Method Summary
 MediaType detect(InputStream input, Metadata metadata)
          Detects the content type of the given input document.
protected static MediaType detect(Set<String> names)
          Deprecated. Use detect(Set, DirectoryEntry) and pass the root entry of the filesystem whose type is to be detected, as a second argument.
protected static MediaType detect(Set<String> names, org.apache.poi.poifs.filesystem.DirectoryEntry root)
          Internal detection of the specific kind of OLE2 document, based on the names of the top-level streams within the file.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OLE

public static final MediaType OLE
The OLE base file format


OOXML_PROTECTED

public static final MediaType OOXML_PROTECTED
The protected OOXML base file format


GENERAL_EMBEDDED

public static final MediaType GENERAL_EMBEDDED
General embedded document type within an OLE2 container


OLE10_NATIVE

public static final MediaType OLE10_NATIVE
An OLE10 Native embedded document within another OLE2 document


COMP_OBJ

public static final MediaType COMP_OBJ
Some other kind of embedded document, in a CompObj container within another OLE2 document


XLS

public static final MediaType XLS
Microsoft Excel


DOC

public static final MediaType DOC
Microsoft Word


PPT

public static final MediaType PPT
Microsoft PowerPoint


PUB

public static final MediaType PUB
Microsoft Publisher


VSD

public static final MediaType VSD
Microsoft Visio


WPS

public static final MediaType WPS
Microsoft Works


XLR

public static final MediaType XLR
Microsoft Works Spreadsheet 7.0


MSG

public static final MediaType MSG
Microsoft Outlook


MPP

public static final MediaType MPP
Microsoft Project


SDC

public static final MediaType SDC
StarOffice Calc


SDA

public static final MediaType SDA
StarOffice Draw


SDD

public static final MediaType SDD
StarOffice Impress


SDW

public static final MediaType SDW
StarOffice Writer

Constructor Detail

POIFSContainerDetector

public POIFSContainerDetector()
Method Detail

detect

public MediaType detect(InputStream input,
                        Metadata metadata)
                 throws IOException
Description copied from interface: Detector
Detects the content type of the given input document. Returns application/octet-stream if the type of the document can not be detected.

If the document input stream is not available, then the first argument may be null. Otherwise the detector may read bytes from the start of the stream to help in type detection. The given stream is guaranteed to support the mark feature and the detector is expected to mark the stream before reading any bytes from it, and to reset the stream before returning. The stream must not be closed by the detector.

The given input metadata is only read, not modified, by the detector.

Specified by:
detect in interface Detector
Parameters:
input - document input stream, or null
metadata - input metadata for the document
Returns:
detected media type, or application/octet-stream
Throws:
IOException - if the document input stream could not be read

detect

protected static MediaType detect(Set<String> names)
Deprecated. Use detect(Set, DirectoryEntry) and pass the root entry of the filesystem whose type is to be detected, as a second argument.

Internal detection of the specific kind of OLE2 document, based on the names of the top level streams within the file.


detect

protected static MediaType detect(Set<String> names,
                                  org.apache.poi.poifs.filesystem.DirectoryEntry root)
Internal detection of the specific kind of OLE2 document, based on the names of the top-level streams within the file. In some cases the detection may need access to the root DirectoryEntry of that file for best results. The entry can be given as a second, optional argument.

Parameters:
names -
root -
Returns:


Copyright © 2007-2012 The Apache Software Foundation. All Rights Reserved.