//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.core.history; import org.apache.uima.resource.Resource; import uk.gov.dstl.baleen.core.pipelines.PipelineBuilder; /** History of changes made to documentation being processed by Baleen. * * This top level interface provides access to document level history. * * Normally developers will not access this directly, instead using the * addToHistory functions on UimaSupport through BaleenAnnotator, etc. * * Through {@link PipelineBuilder} there will be a single instance of the BaleenHistory * within a pipeline. */ public interface BaleenHistory extends Resource { /** * Common configuration parameter name for History implementations * * The value of this setting determines if entities with different referent targets will be merged (true). If set to * false then even if two entities are requested to be merged the request will be ignored if they * have different referent targets. False is the safe default for loss of entities, but the right * value will depend on the pipeline annotator. This setting can be used at the global level or on * individual annotators. It defaults to false. */ public static final String MERGE_DISTINCT_ENTITIES = "history.mergeDistinctEntities"; /** Get the document history for the specific document and pipeline. * @param pipelineName unique representation of the pipeline processing the document. * @param documentId unique representation of the document (e.g. the document hash) * @return non-null document history */ public DocumentHistory getHistory(String documentId); /** Tells this history instance that the processing of the specific documentId * is now complete, and there will be no more updates. * * Resources (caches, etc) can be freed. * * @param documentId the document */ public void closeHistory(String documentId); }