19 package org.sleuthkit.autopsy.keywordsearch;
 
   21 import java.io.Reader;
 
   22 import java.util.Arrays;
 
   23 import java.util.List;
 
   30 abstract class FileTextExtractor 
implements TextExtractor< AbstractFile> {
 
   33     static final List<String> BLOB_MIME_TYPES
 
   36                     "application/octet-stream", 
 
   37                     "application/x-msdownload"); 
 
   41     static final List<String> ARCHIVE_MIME_TYPES
 
   44                     "application/x-7z-compressed", 
 
   45                     "application/x-ace-compressed", 
 
   46                     "application/x-alz-compressed", 
 
   48                     "application/vnd.ms-cab-compressed", 
 
   49                     "application/x-cfs-compressed", 
 
   50                     "application/x-dgc-compressed", 
 
   51                     "application/x-apple-diskimage", 
 
   52                     "application/x-gca-compressed", 
 
   56                     "application/x-rar-compressed", 
 
   57                     "application/x-stuffit", 
 
   58                     "application/x-stuffitx", 
 
   60                     "application/x-archive", 
 
   61                     "application/x-executable", 
 
   69                     "application/x-bzip2", 
 
   74                     "application/x-compress"); 
 
   83     abstract boolean isContentTypeSpecific();
 
   95     abstract boolean isSupported(AbstractFile file, String detectedFormat);
 
   98     public abstract Reader getReader(AbstractFile source) 
throws TextExtractorException;
 
  101     public long getID(AbstractFile source) {
 
  102         return source.getId();
 
  107     public String getName(AbstractFile source) {
 
  108         return source.getName();