Documentation / Phase processor

Phase processor

(com.betterdiff.api.PhaseProcessor)

Each Phase must define its input, output, and a process transforming the input into the output. For such purpose, the PhaseProcessor should be used.

The input is specified by the PhaseProcessor's constructor, or by other methods for such purpose. The output is specified by methods provided by the specific PhaseProcessor. And the process is an implementation detail.

The process itself must be executed by calling PhaseProcessor#process() method, and the process must provide a PartialProtocol of the process.

Moreover, the PhaseProcessor must state, which Phase it provides the process for via the method PhaseProcessor#getRelatedPhase().

For the core phases, the API provides appropriate processors:

  • (Collecting) Evidence - CollectingEvidenceProcessor
  • Preparation (of Evidence) - PreparationProcessor
  • (Chunk) Pairing - PairingProcessor
  • (Chunk) Alignment - AlignmentProcessor
  • (Mutation) Identification - IdentificationProcessor