This is an automated email from the ASF dual-hosted git repository. mawiesne pushed a commit to branch OPENNLP-1758-Enhance-Javadoc-of-opennlp.uima in repository https://gitbox.apache.org/repos/asf/opennlp.git
commit 493b0b589d7c561a38965ab9ab2e25dd2d8b177a Author: Martin Wiesner <martin.wies...@hs-heilbronn.de> AuthorDate: Mon Jul 7 23:28:23 2025 +0200 OPENNLP-1758: Enhance Javadoc of opennlp.uima --- .../main/java/opennlp/uima/chunker/Chunker.java | 48 ++++++++++++---------- .../opennlp/uima/chunker/ChunkerModelResource.java | 4 ++ .../uima/chunker/ChunkerModelResourceImpl.java | 3 ++ .../uima/dictionary/DictionaryResource.java | 5 +++ .../uima/dictionary/DictionaryResourceImpl.java | 3 ++ .../opennlp/uima/doccat/DoccatModelResource.java | 5 +++ .../uima/doccat/DoccatModelResourceImpl.java | 3 ++ .../java/opennlp/uima/namefind/NameFinder.java | 37 ++++++++++------- .../namefind/TokenNameFinderModelResource.java | 5 +++ .../namefind/TokenNameFinderModelResourceImpl.java | 3 ++ .../src/main/java/opennlp/uima/parser/Parser.java | 42 +++++++++++++------ .../opennlp/uima/parser/ParserModelResource.java | 5 +++ .../uima/parser/ParserModelResourceImpl.java | 3 ++ .../java/opennlp/uima/postag/POSModelResource.java | 5 +++ .../opennlp/uima/postag/POSModelResourceImpl.java | 4 ++ .../main/java/opennlp/uima/postag/POSTagger.java | 46 ++++++++++++++------- .../uima/sentdetect/AbstractSentenceDetector.java | 8 +--- .../opennlp/uima/sentdetect/SentenceDetector.java | 37 ++++++++++------- .../uima/sentdetect/SentenceModelResource.java | 4 ++ .../uima/sentdetect/SentenceModelResourceImpl.java | 3 ++ .../opennlp/uima/tokenize/AbstractTokenizer.java | 7 +--- .../opennlp/uima/tokenize/SimpleTokenizer.java | 14 +++++-- .../main/java/opennlp/uima/tokenize/Tokenizer.java | 36 +++++++++------- .../uima/tokenize/TokenizerModelResource.java | 10 ++--- .../uima/tokenize/TokenizerModelResourceImpl.java | 8 +++- .../opennlp/uima/tokenize/WhitespaceTokenizer.java | 12 ++++-- .../util/OpenNlpAnnotatorProcessException.java | 6 +-- .../src/main/java/opennlp/uima/util/UimaUtil.java | 6 +-- 28 files changed, 245 insertions(+), 127 deletions(-) diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/Chunker.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/Chunker.java index d356f4fb..36cbdbb6 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/Chunker.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/Chunker.java @@ -38,25 +38,34 @@ import opennlp.uima.util.AnnotatorUtil; import opennlp.uima.util.UimaUtil; /** - * OpenNLP Chunker annotator. + * An OpenNLP-based Chunker annotator. * <p> - * Mandatory parameters + * Mandatory parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.ModelName</td> <td>The name of the model file</td></tr> - * <tr><td>String</td> <td>opennlp.uima.SentenceType</td> <td>The full name of the sentence type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.TokenType</td> <td>The full name of the token type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.POSFeature</td></tr> - * <tr><td>String</td> <td>opennlp.uima.ChunkType</td></tr> - * <tr><td>String</td> <td>opennlp.uima.ChunkTagFeature</td></tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.ModelName}</td> + * <td>The name of the model file</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.SentenceType}</td> + * <td>The full name of the sentence type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.TokenType}</td> + * <td>The full name of the token type</td> + * </tr> + * <tr><td>String</td> <td>{@code opennlp.uima.POSFeature}</td></tr> + * <tr><td>String</td> <td>{@code opennlp.uima.ChunkType}</td></tr> + * <tr><td>String</td> <td>{@code opennlp.uima.ChunkTagFeature}</td></tr> * </table> * <p> - * Optional parameters + * Optional parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>Integer</td> <td>opennlp.uima.BeamSize</td></tr> + * <tr><td>Integer</td> <td>{@code opennlp.uima.BeamSize}</td></tr> * </table> */ public final class Chunker extends CasAnnotator_ImplBase { @@ -70,8 +79,7 @@ public final class Chunker extends CasAnnotator_ImplBase { /** * The chunk tag feature parameter */ - public static final String CHUNK_TAG_FEATURE_PARAMETER = - "opennlp.uima.ChunkTagFeature"; + public static final String CHUNK_TAG_FEATURE_PARAMETER = "opennlp.uima.ChunkTagFeature"; private Type mTokenType; @@ -100,9 +108,8 @@ public final class Chunker extends CasAnnotator_ImplBase { * <p> * Note: Do all initialization in this method, do not use the constructor. */ - public void initialize(UimaContext context) - throws ResourceInitializationException { - + @Override + public void initialize(UimaContext context) throws ResourceInitializationException { super.initialize(context); this.context = context; @@ -128,10 +135,10 @@ public final class Chunker extends CasAnnotator_ImplBase { } /** - * Initializes the type system. + * Initializes the {@link TypeSystem type system}. */ - public void typeSystemInit(TypeSystem typeSystem) - throws AnalysisEngineProcessException { + @Override + public void typeSystemInit(TypeSystem typeSystem) throws AnalysisEngineProcessException { // chunk type mChunkType = AnnotatorUtil.getRequiredTypeParameter(context, typeSystem, @@ -177,13 +184,10 @@ public final class Chunker extends CasAnnotator_ImplBase { int index = 0; for (AnnotationFS tokenAnnotation : tokenAnnotationIndex) { - tokenAnnotations[index] = tokenAnnotation; - tokens[index] = tokenAnnotation.getCoveredText(); - pos[index++] = tokenAnnotation.getFeatureValueAsString( - mPosFeature); + pos[index++] = tokenAnnotation.getFeatureValueAsString(mPosFeature); } String[] result = mChunker.chunk(tokens, pos); diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/ChunkerModelResource.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/ChunkerModelResource.java index 80aba415..8e83df07 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/ChunkerModelResource.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/ChunkerModelResource.java @@ -19,6 +19,10 @@ package opennlp.uima.chunker; import opennlp.tools.chunker.ChunkerModel; +/** + * A resource encapsulating an OpenNLP {@link ChunkerModel} which can be shared between + * <i>analysis engines</i> and loaded via the UIMA resource model. + */ public interface ChunkerModelResource { ChunkerModel getModel(); diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/ChunkerModelResourceImpl.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/ChunkerModelResourceImpl.java index a40657a9..166697f1 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/ChunkerModelResourceImpl.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/chunker/ChunkerModelResourceImpl.java @@ -23,6 +23,9 @@ import java.io.InputStream; import opennlp.tools.chunker.ChunkerModel; import opennlp.uima.util.AbstractModelResource; +/** + * A default implementation of {@link ChunkerModelResource}. + */ public class ChunkerModelResourceImpl extends AbstractModelResource<ChunkerModel> implements ChunkerModelResource { diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/dictionary/DictionaryResource.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/dictionary/DictionaryResource.java index 36349686..fd972514 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/dictionary/DictionaryResource.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/dictionary/DictionaryResource.java @@ -19,6 +19,11 @@ package opennlp.uima.dictionary; import opennlp.tools.dictionary.Dictionary; +/** + * A resource encapsulating an OpenNLP {@link Dictionary} which can be shared between + * <i>analysis engines</i> and loaded via the UIMA resource model. + */ public interface DictionaryResource { + Dictionary getDictionary(); } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/dictionary/DictionaryResourceImpl.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/dictionary/DictionaryResourceImpl.java index 4f846186..77ee96c0 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/dictionary/DictionaryResourceImpl.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/dictionary/DictionaryResourceImpl.java @@ -23,6 +23,9 @@ import java.io.InputStream; import opennlp.tools.dictionary.Dictionary; import opennlp.uima.util.AbstractModelResource; +/** + * A default implementation of {@link DictionaryResource}. + */ public class DictionaryResourceImpl extends AbstractModelResource<Dictionary> implements DictionaryResource { diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/doccat/DoccatModelResource.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/doccat/DoccatModelResource.java index 28fecc77..f12572ab 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/doccat/DoccatModelResource.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/doccat/DoccatModelResource.java @@ -19,6 +19,11 @@ package opennlp.uima.doccat; import opennlp.tools.doccat.DoccatModel; +/** + * A resource encapsulating an OpenNLP {@link DoccatModel} which can be shared between + * <i>analysis engines</i> and loaded via the UIMA resource model. + */ public interface DoccatModelResource { + DoccatModel getModel(); } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/doccat/DoccatModelResourceImpl.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/doccat/DoccatModelResourceImpl.java index 11d3821e..05620f1f 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/doccat/DoccatModelResourceImpl.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/doccat/DoccatModelResourceImpl.java @@ -23,6 +23,9 @@ import java.io.InputStream; import opennlp.tools.doccat.DoccatModel; import opennlp.uima.util.AbstractModelResource; +/** + * A default implementation of {@link DoccatModelResource}. + */ public class DoccatModelResourceImpl extends AbstractModelResource<DoccatModel> implements DoccatModelResource { diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/NameFinder.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/NameFinder.java index 6d6a9186..59e46a6b 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/NameFinder.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/NameFinder.java @@ -36,27 +36,38 @@ import opennlp.uima.util.AnnotatorUtil; import opennlp.uima.util.UimaUtil; /** - * OpenNLP Name annotator. + * An OpenNLP-based Name annotator. * <p> - * Mandatory parameters + * Mandatory parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.ModelName</td> <td>The name of the model file</td></tr> - * <tr><td>String</td> <td>opennlp.uima.SentenceType</td> <td>The full name of the sentence type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.TokenType</td> <td>The full name of the token type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.NameType</td> <td>The full name of the name type</td></tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.ModelName}</td> + * <td>The name of the model file</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.SentenceType}</td> + * <td>The full name of the sentence type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.TokenType}</td> + * <td>The full name of the token type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.NameType}</td> + * <td>The full name of the name type</td> + * </tr> * </table> * <p> - * Optional parameters + * Optional parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.ProbabilityFeature</td> <td>The name of the double + * <tr><td>String</td> <td>{@code opennlp.uima.ProbabilityFeature}</td> <td>The name of the double * probability feature (not set by default)</td></tr> - * <tr><td>Integer</td> <td>opennlp.uima.BeamSize</td></tr> - * <tr><td>String</td> <td>opennlp.uima.DocumentConfidenceType</td></tr> - * <tr><td>String</td> <td>opennlp.uima.DocumentConfidenceType</td></tr> + * <tr><td>Integer</td> <td>{@code opennlp.uima.BeamSize}</td></tr> + * <tr><td>String</td> <td>{@code opennlp.uima.DocumentConfidenceType}</td></tr> * </table> */ public final class NameFinder extends AbstractNameFinder { @@ -114,7 +125,6 @@ public final class NameFinder extends AbstractNameFinder { */ @Override public void initialize() throws ResourceInitializationException { - super.initialize(); TokenNameFinderModel model; @@ -132,11 +142,10 @@ public final class NameFinder extends AbstractNameFinder { } /** - * Initializes the type system. + * Initializes the {@link TypeSystem type system}. */ @Override public void typeSystemInit(TypeSystem typeSystem) throws AnalysisEngineProcessException { - super.typeSystemInit(typeSystem); probabilityFeature = AnnotatorUtil.getOptionalFeatureParameter(context, mNameType, diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/TokenNameFinderModelResource.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/TokenNameFinderModelResource.java index 07f48db0..ad08daa2 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/TokenNameFinderModelResource.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/TokenNameFinderModelResource.java @@ -19,6 +19,11 @@ package opennlp.uima.namefind; import opennlp.tools.namefind.TokenNameFinderModel; +/** + * A resource encapsulating an OpenNLP {@link TokenNameFinderModel} which can be shared between + * <i>analysis engines</i> and loaded via the UIMA resource model. + */ public interface TokenNameFinderModelResource { + TokenNameFinderModel getModel(); } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/TokenNameFinderModelResourceImpl.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/TokenNameFinderModelResourceImpl.java index b978e569..47caa414 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/TokenNameFinderModelResourceImpl.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/namefind/TokenNameFinderModelResourceImpl.java @@ -23,6 +23,9 @@ import java.io.InputStream; import opennlp.tools.namefind.TokenNameFinderModel; import opennlp.uima.util.AbstractModelResource; +/** + * A default implementation of {@link TokenNameFinderModelResource}. + */ public class TokenNameFinderModelResourceImpl extends AbstractModelResource<TokenNameFinderModel> implements TokenNameFinderModelResource { diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/Parser.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/Parser.java index 652cf249..279c24c5 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/Parser.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/Parser.java @@ -47,24 +47,39 @@ import opennlp.uima.util.ContainingConstraint; import opennlp.uima.util.UimaUtil; /** - * Abstract base class for OpenNLP Parser annotators. + * Base class for OpenNLP-based Parser annotators. * <p> - * Mandatory parameters + * Mandatory parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.ModelName</td> <td>The name of the model file</td></tr> - * <tr><td>String</td> <td>opennlp.uima.SentenceType</td> <td>The full name of the sentence type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.TokenType</td> <td>The full name of the token type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.ParseType</td> <td>The full name of the parse type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.TypeFeature</td> <td>The name of the type feature</td></tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.ModelName}</td> + * <td>The name of the model file</td> + * </tr> + * <tr> + * <td>String</td> <td>{@code opennlp.uima.SentenceType}</td> + * <td>The full name of the sentence type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.TokenType}</td> + * <td>The full name of the token type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.ParseType}</td> + * <td>The full name of the parse type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.TypeFeature}</td> + * <td>The name of the type feature</td> + * </tr> * </table> * <p> - * Optional parameters + * Optional parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>Integer</td> <td>opennlp.uima.BeamSize</td></tr> + * <tr><td>Integer</td> <td>{@code opennlp.uima.BeamSize}</td></tr> * </table> */ public class Parser extends CasAnnotator_ImplBase { @@ -90,6 +105,7 @@ public class Parser extends CasAnnotator_ImplBase { /** * Initializes the current instance with the given context. */ + @Override public void initialize(UimaContext context) throws ResourceInitializationException { @@ -118,10 +134,10 @@ public class Parser extends CasAnnotator_ImplBase { } /** - * Initializes the type system. + * Initializes the {@link TypeSystem type system}. */ - public void typeSystemInit(TypeSystem typeSystem) - throws AnalysisEngineProcessException { + @Override + public void typeSystemInit(TypeSystem typeSystem) throws AnalysisEngineProcessException { mSentenceType = AnnotatorUtil.getRequiredTypeParameter(context, typeSystem, UimaUtil.SENTENCE_TYPE_PARAMETER); @@ -229,7 +245,7 @@ public class Parser extends CasAnnotator_ImplBase { /** * Releases allocated resources. */ - + @Override public void destroy() { mParser = null; } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/ParserModelResource.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/ParserModelResource.java index 1f9ed909..15c66cb6 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/ParserModelResource.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/ParserModelResource.java @@ -19,6 +19,11 @@ package opennlp.uima.parser; import opennlp.tools.parser.ParserModel; +/** + * A resource encapsulating an OpenNLP {@link ParserModel} which can be shared between + * * <i>analysis engines</i> and loaded via the UIMA resource model. + * */ public interface ParserModelResource { + ParserModel getModel(); } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/ParserModelResourceImpl.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/ParserModelResourceImpl.java index e8a7790d..3ed691f8 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/ParserModelResourceImpl.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/parser/ParserModelResourceImpl.java @@ -23,6 +23,9 @@ import java.io.InputStream; import opennlp.tools.parser.ParserModel; import opennlp.uima.util.AbstractModelResource; +/** + * A default implementation of {@link ParserModelResource}. + */ public class ParserModelResourceImpl extends AbstractModelResource<ParserModel> implements ParserModelResource { diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSModelResource.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSModelResource.java index 33a2922b..d5338a8a 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSModelResource.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSModelResource.java @@ -19,6 +19,11 @@ package opennlp.uima.postag; import opennlp.tools.postag.POSModel; +/** + * A resource encapsulating an OpenNLP {@link POSModel} which can be shared between + * <i>analysis engines</i> and loaded via the UIMA resource model. + */ public interface POSModelResource { + POSModel getModel(); } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSModelResourceImpl.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSModelResourceImpl.java index e8d06b0e..bccc74fb 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSModelResourceImpl.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSModelResourceImpl.java @@ -23,9 +23,13 @@ import java.io.InputStream; import opennlp.tools.postag.POSModel; import opennlp.uima.util.AbstractModelResource; +/** + * A default implementation of {@link POSModelResource}. + */ public class POSModelResourceImpl extends AbstractModelResource<POSModel> implements POSModelResource { + @Override public POSModel getModel() { return model; } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSTagger.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSTagger.java index 643a37a3..0c92e4cf 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSTagger.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/postag/POSTagger.java @@ -45,25 +45,43 @@ import opennlp.uima.util.UimaUtil; /** * OpenNLP Part Of Speech annotator. * <p> - * Mandatory parameters + * Mandatory parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.ModelName</td> <td>The name of the model file</td></tr> - * <tr><td>String</td> <td>opennlp.uima.SentenceType</td> <td>The full name of the sentence type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.TokenType</td> <td>The full name of the token type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.POSFeature</td> <td>The name of the token pos feature, - * the feature must be of type String</td></tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.ModelName}</td> + * <td>The name of the model file</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.SentenceType}</td> + * <td>The full name of the sentence type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.TokenType}</td> + * <td>The full name of the token type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.POSFeature}</td> + * <td>The name of the token pos feature, the feature must be of type String</td> + * </tr> * </table> * <p> - * Optional parameters + * Optional parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.ProbabilityFeature</td> - * <td>The name of the double probability feature (not set by default)</td></tr> - * <tr><td>Integer</td> <td>opennlp.uima.BeamSize</td></tr> - * <tr><td>String</td> <td>opennlp.uima.DictionaryName</td> <td>The name of the dictionary file</td></tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.ProbabilityFeature}</td> + * <td>The name of the double probability feature (not set by default)</td> + * </tr> + * <tr><td>Integer</td> + * <td>{@code opennlp.uima.BeamSize}</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.DictionaryName}</td> + * <td>The name of the dictionary file</td> + * </tr> * </table> */ public final class POSTagger extends CasAnnotator_ImplBase { @@ -134,7 +152,7 @@ public final class POSTagger extends CasAnnotator_ImplBase { } /** - * Initializes the type system. + * Initializes the {@link TypeSystem type system}. */ @Override public void typeSystemInit(TypeSystem typeSystem) throws AnalysisEngineProcessException { @@ -156,7 +174,7 @@ public final class POSTagger extends CasAnnotator_ImplBase { } /** - * Performs pos-tagging on the given tcas object. + * Performs pos-tagging on the given {@link CAS tcas} object. */ @Override public void process(CAS tcas) { @@ -167,13 +185,11 @@ public final class POSTagger extends CasAnnotator_ImplBase { for (AnnotationIteratorPair annotationIteratorPair : comboIterator) { final List<AnnotationFS> sentenceTokenAnnotationList = new LinkedList<>(); - final List<String> sentenceTokenList = new LinkedList<>(); for (AnnotationFS tokenAnnotation : annotationIteratorPair.getSubIterator()) { sentenceTokenAnnotationList.add(tokenAnnotation); - sentenceTokenList.add(tokenAnnotation.getCoveredText()); } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/AbstractSentenceDetector.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/AbstractSentenceDetector.java index 6348a893..82d72187 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/AbstractSentenceDetector.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/AbstractSentenceDetector.java @@ -70,8 +70,7 @@ public abstract class AbstractSentenceDetector extends CasAnnotator_ImplBase { } @Override - public void typeSystemInit(TypeSystem typeSystem) - throws AnalysisEngineProcessException { + public void typeSystemInit(TypeSystem typeSystem) throws AnalysisEngineProcessException { super.typeSystemInit(typeSystem); containerType = AnnotatorUtil.getOptionalTypeParameter(context, typeSystem, @@ -93,11 +92,9 @@ public abstract class AbstractSentenceDetector extends CasAnnotator_ImplBase { @Override public void process(CAS cas) throws AnalysisEngineProcessException { - FSIndex<AnnotationFS> containerAnnotations = cas - .getAnnotationIndex(containerType); + FSIndex<AnnotationFS> containerAnnotations = cas.getAnnotationIndex(containerType); for (AnnotationFS containerAnnotation : containerAnnotations) { - String text = containerAnnotation.getCoveredText(); if (isRemoveExistingAnnotations) { @@ -105,7 +102,6 @@ public abstract class AbstractSentenceDetector extends CasAnnotator_ImplBase { } Span[] sentPositions = detectSentences(text); - AnnotationFS[] sentences = new AnnotationFS[sentPositions.length]; for (int i = 0; i < sentPositions.length; i++) { diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceDetector.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceDetector.java index 59bc3e6a..49ee62df 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceDetector.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceDetector.java @@ -33,23 +33,34 @@ import opennlp.uima.util.AnnotatorUtil; import opennlp.uima.util.UimaUtil; /** - * OpenNLP Sentence annotator. + * An OpenNLP-based Sentence annotator. * <p> - * Mandatory parameters + * Mandatory parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.ModelName</td> <td>The name of the model file</td></tr> - * <tr><td>String</td> <td>opennlp.uima.SentenceType</td> <td>The full name of the sentence type</td></tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.ModelName}</td> + * <td>The name of the model file</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.SentenceType}</td> + * <td>The full name of the sentence type</td> + * </tr> * </table> * <p> - * Optional parameters + * Optional parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.ContainerType</td> <td>The name of the container type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.ProbabilityFeature</td> <td>The name of the double - * probability feature (not set by default)</td></tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.ContainerType}</td> + * <td>The name of the container type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.ProbabilityFeature}</td> + * <td>The name of the double probability feature (not set by default)</td> + * </tr> * </table> */ public final class SentenceDetector extends AbstractSentenceDetector { @@ -97,16 +108,14 @@ public final class SentenceDetector extends AbstractSentenceDetector { } /** - * Initializes the type system. + * Initializes the {@link TypeSystem type system}. */ @Override - public void typeSystemInit(TypeSystem typeSystem) - throws AnalysisEngineProcessException { - + public void typeSystemInit(TypeSystem typeSystem) throws AnalysisEngineProcessException { super.typeSystemInit(typeSystem); - probabilityFeature = AnnotatorUtil.getOptionalFeatureParameter(context, - sentenceType, UimaUtil.PROBABILITY_FEATURE_PARAMETER, CAS.TYPE_NAME_DOUBLE); + probabilityFeature = AnnotatorUtil.getOptionalFeatureParameter(context, sentenceType, + UimaUtil.PROBABILITY_FEATURE_PARAMETER, CAS.TYPE_NAME_DOUBLE); } @Override diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceModelResource.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceModelResource.java index 01caae1d..e16bbc82 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceModelResource.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceModelResource.java @@ -19,6 +19,10 @@ package opennlp.uima.sentdetect; import opennlp.tools.sentdetect.SentenceModel; +/** + * A resource encapsulating an OpenNLP {@link SentenceModel} which can be shared between + * <i>analysis engines</i> and loaded via the UIMA resource model. + */ public interface SentenceModelResource { SentenceModel getModel(); diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceModelResourceImpl.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceModelResourceImpl.java index 4545f8ec..3aa69f45 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceModelResourceImpl.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/sentdetect/SentenceModelResourceImpl.java @@ -23,6 +23,9 @@ import java.io.InputStream; import opennlp.tools.sentdetect.SentenceModel; import opennlp.uima.util.AbstractModelResource; +/** + * A default implementation of {@link SentenceModelResource}. + */ public class SentenceModelResourceImpl extends AbstractModelResource<SentenceModel> implements SentenceModelResource { diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/AbstractTokenizer.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/AbstractTokenizer.java index 3c658a0a..bc409a30 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/AbstractTokenizer.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/AbstractTokenizer.java @@ -58,9 +58,7 @@ public abstract class AbstractTokenizer extends CasAnnotator_ImplBase { } @Override - public void initialize(UimaContext context) - throws ResourceInitializationException { - + public void initialize(UimaContext context) throws ResourceInitializationException { super.initialize(context); this.context = context; @@ -80,8 +78,7 @@ public abstract class AbstractTokenizer extends CasAnnotator_ImplBase { } @Override - public void typeSystemInit(TypeSystem typeSystem) - throws AnalysisEngineProcessException { + public void typeSystemInit(TypeSystem typeSystem) throws AnalysisEngineProcessException { super.typeSystemInit(typeSystem); sentenceType = AnnotatorUtil.getRequiredTypeParameter(context, typeSystem, diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/SimpleTokenizer.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/SimpleTokenizer.java index 7991582f..5643c75b 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/SimpleTokenizer.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/SimpleTokenizer.java @@ -24,14 +24,20 @@ import org.apache.uima.cas.text.AnnotationFS; import opennlp.tools.util.Span; /** - * OpenNLP Simple Tokenizer annotator. + * An OpenNLP-based Simple Tokenizer annotator. * <p> - * Mandatory parameters + * Mandatory parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.SentenceType</td> <td>The full name of the sentence type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.TokenType</td> <td>The full name of the token type</td></tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.SentenceType}</td> + * <td>The full name of the sentence type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.TokenType}</td> + * <td>The full name of the token type</td> + * </tr> * </table> */ public final class SimpleTokenizer extends AbstractTokenizer { diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/Tokenizer.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/Tokenizer.java index 38d2b343..2717a522 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/Tokenizer.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/Tokenizer.java @@ -33,23 +33,34 @@ import opennlp.uima.util.AnnotatorUtil; import opennlp.uima.util.UimaUtil; /** - * OpenNLP Tokenizer annotator. + * An OpenNLP-based Tokenizer annotator. * <p> - * Mandatory parameters + * Mandatory parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.ModelName</td> <td>The name of the model file</td></tr> - * <tr><td>String</td> <td>opennlp.uima.SentenceType</td> <td>The full name of the sentence type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.TokenType</td> <td>The full name of the token type</td></tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.ModelName}</td> + * <td>The name of the model file</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.SentenceType}</td> + * <td>The full name of the sentence type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.TokenType}</td> + * <td>The full name of the token type</td> + * </tr> * </table> * <p> - * Optional parameters + * Optional parameters: * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.ProbabilityFeature</td> <td>The name of the double - * probability feature (not set by default)</td></tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.ProbabilityFeature}</td> + * <td>The name of the double probability feature (not set by default)</td> + * </tr> * </table> * * @see TokenizerME @@ -101,16 +112,13 @@ public final class Tokenizer extends AbstractTokenizer { } /** - * Initializes the type system. + * Initializes the {@link TypeSystem type system}. */ @Override - public void typeSystemInit(TypeSystem typeSystem) - throws AnalysisEngineProcessException { - + public void typeSystemInit(TypeSystem typeSystem) throws AnalysisEngineProcessException { super.typeSystemInit(typeSystem); - probabilityFeature = AnnotatorUtil - .getOptionalFeatureParameter(context, tokenType, + probabilityFeature = AnnotatorUtil.getOptionalFeatureParameter(context, tokenType, UimaUtil.PROBABILITY_FEATURE_PARAMETER, CAS.TYPE_NAME_DOUBLE); } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/TokenizerModelResource.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/TokenizerModelResource.java index 4d0f1980..b2a96f0e 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/TokenizerModelResource.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/TokenizerModelResource.java @@ -17,20 +17,16 @@ package opennlp.uima.tokenize; -import org.apache.uima.analysis_engine.AnalysisEngine; - import opennlp.tools.tokenize.TokenizerModel; /** - * A {@link TokenizerModel} which can be shared between {@link AnalysisEngine}s - * and loaded via the UIMA resource model. + * A resource encapsulating an OpenNLP {@link TokenizerModel} which can be shared between + * <i>analysis engines</i> and loaded via the UIMA resource model. */ public interface TokenizerModelResource { /** - * Retrieves the shared model instance. - * - * @return the shared model instance + * @return Retrieves the shared model instance. */ TokenizerModel getModel(); } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/TokenizerModelResourceImpl.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/TokenizerModelResourceImpl.java index a7e44de4..fed9fe3b 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/TokenizerModelResourceImpl.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/TokenizerModelResourceImpl.java @@ -23,9 +23,13 @@ import java.io.InputStream; import opennlp.tools.tokenize.TokenizerModel; import opennlp.uima.util.AbstractModelResource; -public class TokenizerModelResourceImpl extends - AbstractModelResource<TokenizerModel> implements TokenizerModelResource { +/** + * A default implementation of {@link TokenizerModelResource}. + */ +public class TokenizerModelResourceImpl extends AbstractModelResource<TokenizerModel> + implements TokenizerModelResource { + @Override public TokenizerModel getModel() { return model; } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/WhitespaceTokenizer.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/WhitespaceTokenizer.java index bc8c6527..b182f08b 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/WhitespaceTokenizer.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/tokenize/WhitespaceTokenizer.java @@ -24,14 +24,20 @@ import org.apache.uima.cas.text.AnnotationFS; import opennlp.tools.util.Span; /** - * OpenNLP Whitespace Tokenizer annotator. + * An OpenNLP-based Whitespace Tokenizer annotator. * <p> * Mandatory parameters * <table border=1> * <caption></caption> * <tr><th>Type</th> <th>Name</th> <th>Description</th></tr> - * <tr><td>String</td> <td>opennlp.uima.SentenceType</td> <td>The full name of the sentence type</td></tr> - * <tr><td>String</td> <td>opennlp.uima.TokenType</td> <td>The full name of the token type</td></tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.SentenceType}</td> + * <td>The full name of the sentence type</td> + * </tr> + * <tr><td>String</td> + * <td>{@code opennlp.uima.TokenType}</td> + * <td>The full name of the token type</td> + * </tr> * </table> */ public final class WhitespaceTokenizer extends AbstractTokenizer { diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/util/OpenNlpAnnotatorProcessException.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/util/OpenNlpAnnotatorProcessException.java index fcff77f5..b5ef139c 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/util/OpenNlpAnnotatorProcessException.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/util/OpenNlpAnnotatorProcessException.java @@ -19,8 +19,7 @@ package opennlp.uima.util; import org.apache.uima.analysis_engine.AnalysisEngineProcessException; -public class OpenNlpAnnotatorProcessException extends - AnalysisEngineProcessException { +public class OpenNlpAnnotatorProcessException extends AnalysisEngineProcessException { private static final long serialVersionUID = 0; @@ -28,8 +27,7 @@ public class OpenNlpAnnotatorProcessException extends super(ExceptionMessages.MESSAGE_CATALOG, messageKey, arguments); } - public OpenNlpAnnotatorProcessException(String messageKey, - Object[] arguments, Throwable t) { + public OpenNlpAnnotatorProcessException(String messageKey, Object[] arguments, Throwable t) { super(ExceptionMessages.MESSAGE_CATALOG, messageKey, arguments, t); } diff --git a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/util/UimaUtil.java b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/util/UimaUtil.java index 070d4c10..88d136be 100644 --- a/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/util/UimaUtil.java +++ b/opennlp-extensions/opennlp-uima/src/main/java/opennlp/uima/util/UimaUtil.java @@ -92,8 +92,7 @@ public final class UimaUtil { * * @throws IllegalArgumentException Thrown if parameters were invalid. */ - public static void removeAnnotations(CAS cas, - AnnotationFS containerAnnotation, Type type) { + public static void removeAnnotations(CAS cas, AnnotationFS containerAnnotation, Type type) { if (cas == null) { throw new IllegalArgumentException("Parameter 'cas' must not be null"); @@ -104,8 +103,7 @@ public final class UimaUtil { FSIndex<AnnotationFS> allRemoveAnnotations = cas.getAnnotationIndex(type); - ContainingConstraint containingConstraint = new ContainingConstraint( - containerAnnotation); + ContainingConstraint containingConstraint = new ContainingConstraint(containerAnnotation); Iterator<AnnotationFS> containingTokens = cas.createFilteredIterator( allRemoveAnnotations.iterator(), containingConstraint);