Interface DeferredExtractionPlugin
-
- All Superinterfaces:
BaseExtractionPlugin
public interface DeferredExtractionPlugin extends BaseExtractionPlugin
Deferred extraction plugins can be used by Hansken to processtraces
during the extraction process. A processed trace can be enriched with new information and new child traces can also be created.The difference between this and a normal
ExtractionPlugin
is that this plugin is able to run a secondary query for traces and combine the results with previously retrieved traces.When a plugin matches on the trace which is currently processed by Hansken (for example, because it has certain properties), the plugin will receive the matched trace in order to process it (see
process(Trace, DataContext, TraceSearcher)
).
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
process(Trace trace, DataContext dataContext, TraceSearcher searcher)
Start processing atrace
.-
Methods inherited from interface org.hansken.plugin.extraction.api.BaseExtractionPlugin
pluginInfo
-
-
-
-
Method Detail
-
process
void process(Trace trace, DataContext dataContext, TraceSearcher searcher) throws ExecutionException, InterruptedException, IOException
Start processing atrace
. When processing a given trace, new properties may be set on it. New children can be added usingTrace.newChild(String, ThrowingConsumer)
.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 behaviour.
- Parameters:
trace
- the trace to processdataContext
- data context of this trace extractionsearcher
- the searcher for the trace- Throws:
ExecutionException
- when an exception occurs while searching for tracesInterruptedException
- when a thread gets interrupted while searching for tracesIOException
- when an I/O exception occurs
-
-