//Dstl (c) Crown Copyright 2017 package uk.gov.dstl.baleen.contentmappers.helpers; import org.apache.uima.UimaContext; import org.apache.uima.resource.ResourceInitializationException; import uk.gov.dstl.baleen.uima.UimaMonitor; import uk.gov.dstl.baleen.uima.utils.UimaUtils; /** * A base implementation of the content mapper providing monitor. * * Implementation need only implement map as per {@link ContentMapper}. */ public abstract class AbstractContentMapper implements ContentMapper { private UimaMonitor monitor; @Override public void initialize(UimaContext context) throws ResourceInitializationException { ContentMapper.super.initialize(context); String pipelineName = UimaUtils.getPipelineName(context); this.monitor = createMonitor(pipelineName); } @Override public void destroy() { ContentMapper.super.destroy(); } /** * Get the Uima monitor * * @return monitor */ protected UimaMonitor getMonitor() { return monitor; } /** * Create a monitor based on pipeline. * * @param pipelineName * @return monitor (non-null) */ protected UimaMonitor createMonitor(String pipelineName) { return new UimaMonitor(pipelineName, this.getClass()); } }