Interface ExtractionPlugin

All Superinterfaces:
BaseExtractionPlugin
All Known Implementing Classes:
MetaExtractionPlugin

public interface ExtractionPlugin extends BaseExtractionPlugin
Extraction plugins can be used by Hansken to process traces during the extraction process. A processed trace can be enriched with new information and new child traces can also be created.

When a plugin matches on the trace which is currently processed by Hansken (for example, because it has certain properties or a certain type of data sequence), the plugin will receive the matched trace and data in order to process it (see process(Trace, DataContext)).

  • Method Details

    • process

      void process(Trace trace, DataContext dataContext) throws IOException
      Start processing a trace with a given data context. When processing a given trace, new properties may be set on it. New children can be added using Trace.newChild(String, ThrowingConsumer).

      A trace can have multiple data sequences of different types. Because of this, a certain trace might be processed multiple times (depending on if this plugin triggers on the different data types).

      Note: the given trace should only be modified within the scope of this method. Any modifications afterwards may be guarded against or result in undefined behavior.

      Parameters:
      trace - the trace to process
      dataContext - data context of the traces data stream that is being processed
      Throws:
      IOException - when an I/O error occurs