You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2022/04/08 13:57:08 UTC
[uima-uimafit] 01/01: [UIMA-6431] Use lambda functions as CAS processors
This is an automated email from the ASF dual-hosted git repository.
rec pushed a commit to branch feature/UIMA-6431-Use-lambda-functions-as-CAS-processors
in repository https://gitbox.apache.org/repos/asf/uima-uimafit.git
commit 07d3432db5a13ecbef1ae3296396ab36d3e23323
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Fri Apr 8 15:57:02 2022 +0200
[UIMA-6431] Use lambda functions as CAS processors
- Added factory methods for functional (J)CAS processors to the AnalysisEngineFactory
---
.../uima/fit/factory/AnalysisEngineFactory.java | 34 ++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/uimafit-core/src/main/java/org/apache/uima/fit/factory/AnalysisEngineFactory.java b/uimafit-core/src/main/java/org/apache/uima/fit/factory/AnalysisEngineFactory.java
index de0fe5a..7353d2d 100644
--- a/uimafit-core/src/main/java/org/apache/uima/fit/factory/AnalysisEngineFactory.java
+++ b/uimafit-core/src/main/java/org/apache/uima/fit/factory/AnalysisEngineFactory.java
@@ -43,6 +43,10 @@ import java.util.Map.Entry;
import org.apache.uima.Constants;
import org.apache.uima.UIMAFramework;
import org.apache.uima.analysis_component.AnalysisComponent;
+import org.apache.uima.analysis_component.CasProcessor;
+import org.apache.uima.analysis_component.CasProcessorAnnotator;
+import org.apache.uima.analysis_component.JCasProcessor;
+import org.apache.uima.analysis_component.JCasProcessorAnnotator;
import org.apache.uima.analysis_engine.AnalysisEngine;
import org.apache.uima.analysis_engine.AnalysisEngineDescription;
import org.apache.uima.analysis_engine.impl.AggregateAnalysisEngine_impl;
@@ -1799,4 +1803,34 @@ public final class AnalysisEngineFactory {
return createEngineDescription(analysisEngineDescriptions, componentNames, typePriorities,
sofaMappings, flowControllerDescription);
}
+
+ /**
+ * Create an analysis engine from a processor function.
+ *
+ * @param aJCasAnnotator
+ * the processor function.
+ * @return the ready-to-use analysis engine
+ * @throws ResourceInitializationException
+ * of there was a problem creating the engine.
+ */
+ public static AnalysisEngine createEngine(JCasProcessor<? extends Exception> aJCasAnnotator)
+ throws ResourceInitializationException
+ {
+ return JCasProcessorAnnotator.of(aJCasAnnotator);
+ }
+
+ /**
+ * Create an analysis engine from a processor function.
+ *
+ * @param aCasAnnotator
+ * the processor function.
+ * @return the ready-to-use analysis engine
+ * @throws ResourceInitializationException
+ * of there was a problem creating the engine.
+ */
+ public static AnalysisEngine createEngine(CasProcessor<? extends Exception> aCasAnnotator)
+ throws ResourceInitializationException
+ {
+ return CasProcessorAnnotator.of(aCasAnnotator);
+ }
}