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 Detail

      • 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