Skip to main content
Jump to: navigation, search

Difference between revisions of "SMILA/Documentation/Importing/CompoundExtractorService"

(No difference)

Revision as of 04:17, 21 February 2012

CompoundExtractor Service

Interface: org.eclipse.smila.importing.CompoundExtractor

A CompoundExtractor service provides two kinds of methods:

  • check if an object's filename, URL or mimetype idenfifies it as a compound object that can be extracted by the service.
  • extract the compound: Given an InputStream with the compound content produce records for the elements.

The element records can contain the following attributes:

  • fileName: the complete name of the entry in the compound object, usually something like a filesystem path
  • isCompound: set to true if the element is a supported compound object itself.
  • size: uncompressed size of the element
  • time: last modification timestamp, as a datetime value.
  • compressedSize: compressed size of the element
  • comment: a comment for the element in the compound
  • isRootCompound: set to true if the record describes the processed compound object itself.
  • compounds: a sequence of the compound files to look into to reach this element. For example, if the compound /data/ contains a file archived/ which contain a file x.html, the compounds list for x.html would be:
    [/data/, archived/]

Not all attributes need to be set for all compound types.



Bundle: org.eclipse.smila.importing.compounds.simple

This extractor service uses the classes provided by the JDK's package to extract compound objects. This means that it can currently support ZIP files and GZ files (not TAR.GZ, though).

Supported Mimetypes:

  • application/zip
  • application/x-gunzip
  • application/x-gzip

If the mimetype is not provided by the caller at all or it is only application/octet-stream it uses the current MimeType Identifier service to recognize the real mimetype from the filename extension.

The compound types are treated differently:

  • For ZIP files, it creates one record for the ZIP file itself and one record for each contained element.
  • For GZ files, it creates one record with the original filename of the GZ file, but the uncompressed content, because technically GZ files are not real compounds, but just compressed single files.


Not yet in SMILA! As soon as we are allowed to use the Apache Commons Compress library we will provide a extractor service based on this library and then be able to support more compound types.

Bundle: org.eclipse.smila.importing.compounds.compress

Supported Compound Formats:

  • Archives
    • application/zip
    • application/x-tar
    • application/us-tar
    • application/x-cpio
    • application/x-bcpio
    • application/x-sv4cpio
    • application/java-archive
  • Compressions
    • application/x-bzip
    • application/x-gtar
    • application/x-gzip
    • application/x-gunzip

Back to the top