Interface ExtractionTools

All Known Implementing Classes:
AwtFreeExtractionTools, PoiExtractionTools

public interface ExtractionTools
How a deployment reads the formats code can open without a model, chosen by which implementation is on the classpath. The engine ships AwtFreeExtractionTools, which reads Office documents as the zip-of-XML they are and sends PDFs whole to the model, so it needs no font or graphics toolkit and compiles to a native image on any OS. A host that prefers Apache POI and PDFBox - richer local Office and PDF reading, at the cost of the AWT those libraries pull - puts a higher-priority implementation on the classpath; the one with the highest priority() wins, so adding the POI module changes the reader without a code edit, and leaving it off the native build falls back to the toolkit-free reader.
Since:
0.1 (2026-09-22)
Author:
Andrey Santrosyan
  • Method Details

    • resolve

      static ExtractionTools resolve()
      The highest-priority implementation on the classpath: the POI reader when present, else the engine's toolkit-free one.
    • priority

      default int priority()
      Ties break toward the higher number; the engine's toolkit-free default is 0.
    • readsPdfLocally

      boolean readsPdfLocally()
      True when this reader opens PDFs itself (POI/PDFBox); false when a PDF goes whole to the model tier.
    • deterministic

      AbstractTool<FileRef, Extraction> deterministic(Identifiable parent, FileRef input)
      The no-model reader for text and Office documents (and, when readsPdfLocally(), PDFs).
    • vision

      The model reader for images (and PDFs when readsPdfLocally() is false, or a PDF's scanned pages when true).