This is an automated email from the ASF dual-hosted git repository.

mawiesne pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/opennlp.git


The following commit(s) were added to refs/heads/main by this push:
     new 2690b88d OPENNLP-1694: Enhance JavaDoc in util.featuregen package 
(#739)
2690b88d is described below

commit 2690b88df892319e46b79935eb880dc4567afe36
Author: Martin Wiesner <mawie...@users.noreply.github.com>
AuthorDate: Thu Jan 16 10:44:41 2025 +0100

    OPENNLP-1694: Enhance JavaDoc in util.featuregen package (#739)
---
 .../AdditionalContextFeatureGenerator.java         |  1 -
 .../featuregen/AggregatedFeatureGenerator.java     | 24 +++++++++++++---------
 .../AggregatedFeatureGeneratorFactory.java         |  3 +++
 .../featuregen/BigramNameFeatureGenerator.java     |  5 +++++
 .../BigramNameFeatureGeneratorFactory.java         |  6 ++++++
 .../featuregen/BrownBigramFeatureGenerator.java    |  9 ++++++--
 .../tools/util/featuregen/BrownCluster.java        |  9 ++++----
 .../BrownClusterBigramFeatureGeneratorFactory.java |  5 ++++-
 ...wnClusterTokenClassFeatureGeneratorFactory.java |  5 ++++-
 .../BrownClusterTokenFeatureGeneratorFactory.java  |  5 ++++-
 .../BrownTokenClassFeatureGenerator.java           |  7 ++++++-
 .../tools/util/featuregen/BrownTokenClasses.java   |  6 +++---
 .../featuregen/BrownTokenFeatureGenerator.java     | 13 +++++++++++-
 .../util/featuregen/CachedFeatureGenerator.java    |  2 ++
 .../featuregen/CachedFeatureGeneratorFactory.java  |  3 +++
 .../featuregen/CharacterNgramFeatureGenerator.java |  8 +++++---
 .../CharacterNgramFeatureGeneratorFactory.java     |  3 +++
 .../DefinitionFeatureGeneratorFactory.java         |  7 ++++---
 .../featuregen/DictionaryFeatureGenerator.java     | 21 ++++++++++++++-----
 .../DictionaryFeatureGeneratorFactory.java         |  3 +++
 .../featuregen/DocumentBeginFeatureGenerator.java  |  5 +++++
 .../DocumentBeginFeatureGeneratorFactory.java      |  6 ++++++
 .../FeatureGeneratorResourceProvider.java          |  8 +++++---
 .../tools/util/featuregen/GeneratorFactory.java    |  7 ++++---
 .../tools/util/featuregen/InSpanGenerator.java     | 11 ++++++++--
 .../featuregen/OutcomePriorFeatureGenerator.java   |  2 ++
 .../featuregen/POSTaggerNameFeatureGenerator.java  | 16 +++++++++------
 .../POSTaggerNameFeatureGeneratorFactory.java      |  3 +++
 .../util/featuregen/PosTaggerFeatureGenerator.java |  5 +++++
 .../PosTaggerFeatureGeneratorFactory.java          |  6 ++++++
 .../util/featuregen/PrefixFeatureGenerator.java    | 21 +++++++++++++++++--
 .../featuregen/PrefixFeatureGeneratorFactory.java  |  3 +++
 .../featuregen/PreviousMapFeatureGenerator.java    |  4 +++-
 .../PreviousMapFeatureGeneratorFactory.java        |  4 +++-
 .../featuregen/PreviousTwoMapFeatureGenerator.java |  2 ++
 .../util/featuregen/SentenceFeatureGenerator.java  |  2 ++
 .../SentenceFeatureGeneratorFactory.java           |  3 +++
 .../util/featuregen/SuffixFeatureGenerator.java    | 21 +++++++++++++++++--
 .../featuregen/SuffixFeatureGeneratorFactory.java  |  3 +++
 .../featuregen/TokenClassFeatureGenerator.java     | 14 ++++++++++++-
 .../TokenClassFeatureGeneratorFactory.java         |  3 +++
 .../util/featuregen/TokenFeatureGenerator.java     |  6 ++++--
 .../featuregen/TokenFeatureGeneratorFactory.java   |  6 ++++++
 .../featuregen/TokenPatternFeatureGenerator.java   |  3 +++
 .../TokenPatternFeatureGeneratorFactory.java       |  3 +++
 .../featuregen/TrigramNameFeatureGenerator.java    |  1 +
 .../TrigramNameFeatureGeneratorFactory.java        |  6 ++++++
 .../featuregen/WindowFeatureGeneratorFactory.java  |  3 +++
 .../featuregen/WordClusterFeatureGenerator.java    |  1 +
 .../WordClusterFeatureGeneratorFactory.java        |  4 +++-
 50 files changed, 266 insertions(+), 61 deletions(-)

diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AdditionalContextFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AdditionalContextFeatureGenerator.java
index c35a1c1a..9c7d4f36 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AdditionalContextFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AdditionalContextFeatureGenerator.java
@@ -34,7 +34,6 @@ public class AdditionalContextFeatureGenerator implements 
AdaptiveFeatureGenerat
   public void createFeatures(List<String> features, String[] tokens, int 
index, String[] preds) {
 
     if (additionalContext != null && additionalContext.length != 0) {
-
       String[] context = additionalContext[index];
 
       for (String s : context) {
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AggregatedFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AggregatedFeatureGenerator.java
index 78af4325..68557bff 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AggregatedFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AggregatedFeatureGenerator.java
@@ -25,16 +25,17 @@ import java.util.Objects;
 
 /**
  * The {@link AggregatedFeatureGenerator} aggregates a set of
- * {@link AdaptiveFeatureGenerator}s and calls them to generate the features.
+ * {@link AdaptiveFeatureGenerator feature generators} and calls them
+ * to generate the features.
  */
 public class AggregatedFeatureGenerator implements AdaptiveFeatureGenerator {
 
   private Collection<AdaptiveFeatureGenerator> generators;
 
   /**
-   * Initializes the current instance.
+   * Initializes an {@link AggregatedFeatureGenerator} via specified {@code 
generators}.
    *
-   * @param generators array of generators, null values are not permitted
+   * @param generators A collection of generators, {@code null} values are not 
permitted.
    */
   public AggregatedFeatureGenerator(AdaptiveFeatureGenerator... generators) {
 
@@ -49,17 +50,21 @@ public class AggregatedFeatureGenerator implements 
AdaptiveFeatureGenerator {
     this.generators = Collections.unmodifiableCollection(this.generators);
   }
 
+  /**
+   * Initializes an {@link AggregatedFeatureGenerator} via specified {@code 
generators}.
+   *
+   * @param generators A collection of generators, {@code null} values are not 
permitted.
+   */
   public AggregatedFeatureGenerator(Collection<AdaptiveFeatureGenerator> 
generators) {
     this(generators.toArray(new AdaptiveFeatureGenerator[0]));
   }
 
   /**
    * Calls the {@link AdaptiveFeatureGenerator#clearAdaptiveData()} method
-   * on all aggregated {@link AdaptiveFeatureGenerator}s.
+   * on all aggregated {@link AdaptiveFeatureGenerator feature generators}.
    */
   @Override
   public void clearAdaptiveData() {
-
     for (AdaptiveFeatureGenerator generator : generators) {
       generator.clearAdaptiveData();
     }
@@ -67,7 +72,7 @@ public class AggregatedFeatureGenerator implements 
AdaptiveFeatureGenerator {
 
   /**
    * Calls the {@link AdaptiveFeatureGenerator#createFeatures(List, String[], 
int, String[])}
-   * method on all aggregated {@link AdaptiveFeatureGenerator}s.
+   * method on all aggregated {@link AdaptiveFeatureGenerator feature 
generators}.
    */
   @Override
   public void createFeatures(List<String> features, String[] tokens, int index,
@@ -80,10 +85,9 @@ public class AggregatedFeatureGenerator implements 
AdaptiveFeatureGenerator {
 
   /**
    * Calls the {@link AdaptiveFeatureGenerator#updateAdaptiveData(String[], 
String[])}
-   * method on all aggregated {@link AdaptiveFeatureGenerator}s.
+   * method on all aggregated {@link AdaptiveFeatureGenerator feature 
generators}.
    */
   public void updateAdaptiveData(String[] tokens, String[] outcomes) {
-
     for (AdaptiveFeatureGenerator generator : generators) {
       generator.updateAdaptiveData(tokens, outcomes);
     }
@@ -91,9 +95,9 @@ public class AggregatedFeatureGenerator implements 
AdaptiveFeatureGenerator {
 
   /**
    * Retrieves a {@link Collections} of all aggregated
-   * {@link AdaptiveFeatureGenerator}s.
+   * {@link AdaptiveFeatureGenerator feature generators}.
    *
-   * @return all aggregated generators
+   * @return All aggregated generators in use.
    */
   public Collection<AdaptiveFeatureGenerator> getGenerators() {
     return generators;
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AggregatedFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AggregatedFeatureGeneratorFactory.java
index a3f3595c..5dffa228 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AggregatedFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/AggregatedFeatureGeneratorFactory.java
@@ -24,6 +24,9 @@ import java.util.Map;
 import opennlp.tools.util.InvalidFormatException;
 
 /**
+ * A {@link GeneratorFactory} that produces {@link AggregatedFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
  * @see AggregatedFeatureGenerator
  */
 public class AggregatedFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BigramNameFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BigramNameFeatureGenerator.java
index a9972dc7..40545f58 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BigramNameFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BigramNameFeatureGenerator.java
@@ -19,6 +19,11 @@ package opennlp.tools.util.featuregen;
 
 import java.util.List;
 
+/**
+ * Adds bigram features based on tokens and token classes.
+ *
+ * @see AdaptiveFeatureGenerator
+ */
 public class BigramNameFeatureGenerator implements AdaptiveFeatureGenerator {
 
   @Override
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BigramNameFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BigramNameFeatureGeneratorFactory.java
index 8b60d8ae..2064da5e 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BigramNameFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BigramNameFeatureGeneratorFactory.java
@@ -19,6 +19,12 @@ package opennlp.tools.util.featuregen;
 
 import opennlp.tools.util.InvalidFormatException;
 
+/**
+ * A {@link GeneratorFactory} that produces {@link BigramNameFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
+ * @see BigramNameFeatureGenerator
+ */
 public class BigramNameFeatureGeneratorFactory
     extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownBigramFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownBigramFeatureGenerator.java
index b16606ce..3f35e069 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownBigramFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownBigramFeatureGenerator.java
@@ -21,6 +21,9 @@ import java.util.List;
 
 /**
  * Generates Brown cluster features for token bigrams.
+ *
+ * @see AdaptiveFeatureGenerator
+ * @see BrownCluster
  */
 public class BrownBigramFeatureGenerator implements AdaptiveFeatureGenerator {
 
@@ -31,8 +34,10 @@ public class BrownBigramFeatureGenerator implements 
AdaptiveFeatureGenerator {
   private final BrownCluster brownCluster;
 
   /**
-   * Creates a new Brown Cluster bigram feature generator.
-   * @param brownCluster A {@link BrownCluster}.
+   * Initializes a {@link BrownBigramFeatureGenerator} generator via a 
specified
+   * {@link BrownCluster}.
+   * 
+   * @param brownCluster The token {@link BrownCluster dictionary} to use.
    */
   public BrownBigramFeatureGenerator(BrownCluster brownCluster) {
     this.brownCluster = brownCluster;
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownCluster.java 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownCluster.java
index 88759662..221816b4 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownCluster.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownCluster.java
@@ -34,8 +34,7 @@ import opennlp.tools.util.model.ArtifactSerializer;
 import opennlp.tools.util.model.SerializableArtifact;
 
 /**
- *
- * Class to load a Brown cluster document: word\tword_class\tprob
+ * Class to load a Brown cluster document in the format: {@code 
word\tword_class\tprob}.
  * <p>
  * Originally available at: <a 
href="http://metaoptimize.com/projects/wordreprs/";>
  * http://metaoptimize.com/projects/wordreprs/</a>.
@@ -69,8 +68,8 @@ public class BrownCluster implements SerializableArtifact {
   /**
    * Instatiates a {@link BrownCluster} and its related token to cluster map
    * via an {@link InputStream}.
-   * <p>
-   * <b>Note:</b>
+   * 
+   * @implNote
    * Only tokens with frequency bigger than {@code 5} will be added.
    * 
    * @param in A valid, open {@link InputStream} to read from.
@@ -101,7 +100,7 @@ public class BrownCluster implements SerializableArtifact {
    * Check if a token is in the Brown:paths, token map.
    * 
    * @param string the token to look-up
-   * @return the brown class if such token is in the brown cluster map
+   * @return the brown class if such token is in the brown cluster map.
    */
   public String lookupToken(String string) {
     return tokenToClusterMap.get(string);
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterBigramFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterBigramFeatureGeneratorFactory.java
index 7c9ee952..aa92b296 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterBigramFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterBigramFeatureGeneratorFactory.java
@@ -24,7 +24,10 @@ import opennlp.tools.util.InvalidFormatException;
 import opennlp.tools.util.model.ArtifactSerializer;
 
 /**
- * Generates Brown clustering features for token bigrams.
+ * A {@link GeneratorFactory} that produces {@link 
BrownBigramFeatureGenerator} instances
+ * when {@link #create()} is called.
+ *
+ * @see BrownBigramFeatureGenerator
  */
 public class BrownClusterBigramFeatureGeneratorFactory
     extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterTokenClassFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterTokenClassFeatureGeneratorFactory.java
index 47bc8390..1b6624c8 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterTokenClassFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterTokenClassFeatureGeneratorFactory.java
@@ -24,7 +24,10 @@ import opennlp.tools.util.InvalidFormatException;
 import opennlp.tools.util.model.ArtifactSerializer;
 
 /**
- * Generates Brown clustering features for token classes.
+ * A {@link GeneratorFactory} that produces {@link 
BrownTokenClassFeatureGenerator} instances
+ * when {@link #create()} is called.
+ *
+ * @see BrownTokenClassFeatureGenerator
  */
 public class BrownClusterTokenClassFeatureGeneratorFactory
     extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterTokenFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterTokenFeatureGeneratorFactory.java
index fa3f834f..1e246a21 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterTokenFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownClusterTokenFeatureGeneratorFactory.java
@@ -24,7 +24,10 @@ import opennlp.tools.util.InvalidFormatException;
 import opennlp.tools.util.model.ArtifactSerializer;
 
 /**
- * Generates Brown clustering features for current token.
+ * A {@link GeneratorFactory} that produces {@link BrownTokenFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
+ * @see BrownTokenFeatureGenerator
  */
 public class BrownClusterTokenFeatureGeneratorFactory
     extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenClassFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenClassFeatureGenerator.java
index dde9ef66..9c0a2575 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenClassFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenClassFeatureGenerator.java
@@ -21,9 +21,14 @@ import java.util.List;
 
 /**
  * Generates {@link BrownCluster} features for current token and token class.
+ *
+ * @see AdaptiveFeatureGenerator
+ * @see BrownCluster
  */
 public class BrownTokenClassFeatureGenerator implements 
AdaptiveFeatureGenerator {
 
+  private static final String PREFIX = "c,browncluster=";
+
   private final BrownCluster brownLexicon;
 
   /**
@@ -44,7 +49,7 @@ public class BrownTokenClassFeatureGenerator implements 
AdaptiveFeatureGenerator
     List<String> wordClasses = BrownTokenClasses.getWordClasses(tokens[index], 
brownLexicon);
 
     for (String wordClass : wordClasses) {
-      features.add("c," + "browncluster" + "=" + wordShape + "," + wordClass);
+      features.add(PREFIX + wordShape + "," + wordClass);
     }
   }
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenClasses.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenClasses.java
index 65277dd2..5629dbe4 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenClasses.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenClasses.java
@@ -35,9 +35,9 @@ public class BrownTokenClasses {
    * It provides a list containing the pathLengths for a token if found
    * in the Map:token,BrownClass.
    *
-   * @param token the token to be looked up in the brown clustering map
-   * @param brownLexicon the Brown clustering map
-   * @return the list of the paths for a token
+   * @param token The token to be looked up in the brown clustering map
+   * @param brownLexicon The {@link BrownCluster} clustering map
+   * @return A list of the paths for a token.
    */
   public static List<String> getWordClasses(String token, BrownCluster 
brownLexicon) {
     if (brownLexicon.lookupToken(token) == null) {
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenFeatureGenerator.java
index 76a2ce7c..ffc1b4d4 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/BrownTokenFeatureGenerator.java
@@ -21,11 +21,22 @@ import java.util.List;
 
 /**
  * Generates {@link BrownCluster} features for current token.
+ *
+ * @see AdaptiveFeatureGenerator
+ * @see BrownCluster
  */
 public class BrownTokenFeatureGenerator implements AdaptiveFeatureGenerator {
 
+  private static final String PREFIX = "browncluster=";
+
   private final BrownCluster brownLexicon;
 
+  /**
+   * Instantiates a {@link BrownTokenFeatureGenerator} via a specified
+   * {@link BrownCluster}.
+   *
+   * @param dict The token {@link BrownCluster dictionary} to use.
+   */
   public BrownTokenFeatureGenerator(BrownCluster dict) {
     this.brownLexicon = dict;
   }
@@ -37,7 +48,7 @@ public class BrownTokenFeatureGenerator implements 
AdaptiveFeatureGenerator {
     List<String> wordClasses = BrownTokenClasses.getWordClasses(tokens[index], 
brownLexicon);
 
     for (String wordClass : wordClasses) {
-      features.add("browncluster" + "=" + wordClass);
+      features.add(PREFIX + wordClass);
     }
   }
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CachedFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CachedFeatureGenerator.java
index e26ffbdd..d7875b2e 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CachedFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CachedFeatureGenerator.java
@@ -25,6 +25,8 @@ import opennlp.tools.util.Cache;
 
 /**
  * Caches features of the aggregated {@link AdaptiveFeatureGenerator 
generators}.
+ *
+ * @see Cache
  */
 public class CachedFeatureGenerator implements AdaptiveFeatureGenerator {
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CachedFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CachedFeatureGeneratorFactory.java
index 70c0610e..14e3e698 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CachedFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CachedFeatureGeneratorFactory.java
@@ -21,6 +21,9 @@ package opennlp.tools.util.featuregen;
 import opennlp.tools.util.InvalidFormatException;
 
 /**
+ * A {@link GeneratorFactory} that produces {@link CachedFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
  * @see CachedFeatureGenerator
  */
 public class CachedFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CharacterNgramFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CharacterNgramFeatureGenerator.java
index 62a0b109..59b66bea 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CharacterNgramFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CharacterNgramFeatureGenerator.java
@@ -26,6 +26,8 @@ import opennlp.tools.util.StringUtil;
 /**
  * The {@link CharacterNgramFeatureGenerator} uses character ngrams to
  * generate features about each token.
+ *
+ * @see AdaptiveFeatureGenerator
  */
 public class CharacterNgramFeatureGenerator implements 
AdaptiveFeatureGenerator {
 
@@ -35,7 +37,7 @@ public class CharacterNgramFeatureGenerator implements 
AdaptiveFeatureGenerator
   private final int maxLength;
 
   /**
-   * Initializes a {@link CharacterNgramFeatureGenerator}.
+   * Initializes a {@link CharacterNgramFeatureGenerator} with the specified 
parameters.
    *
    * @param minLength The minimum length to use. Must not be negative.
    * @param maxLength The maximum length to use. Must not be negative.
@@ -46,8 +48,8 @@ public class CharacterNgramFeatureGenerator implements 
AdaptiveFeatureGenerator
   }
 
   /**
-   * Initializes a {@link CharacterNgramFeatureGenerator} with
-   * min length of {@code 2} and max length of {@code 5} for ngrams.
+   * Initializes a {@link CharacterNgramFeatureGenerator} with default values 
for ngrams.
+   * The minimal length is set to {@code 2} and maximum length to a value of 
{@code 5}.
    */
   public CharacterNgramFeatureGenerator() {
     this(2, 5);
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CharacterNgramFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CharacterNgramFeatureGeneratorFactory.java
index f449f8db..2b2d866d 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CharacterNgramFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/CharacterNgramFeatureGeneratorFactory.java
@@ -20,6 +20,9 @@ package opennlp.tools.util.featuregen;
 import opennlp.tools.util.InvalidFormatException;
 
 /**
+ * A {@link GeneratorFactory} that produces {@link 
CharacterNgramFeatureGenerator} instances
+ * when {@link #create()} is called.
+ *
  * @see CharacterNgramFeatureGenerator
  */
 public class CharacterNgramFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DefinitionFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DefinitionFeatureGeneratorFactory.java
index cbe8ce4f..b7ed6599 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DefinitionFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DefinitionFeatureGeneratorFactory.java
@@ -20,13 +20,14 @@ package opennlp.tools.util.featuregen;
 import opennlp.tools.util.InvalidFormatException;
 
 /**
- * @see DefinitionFeatureGeneratorFactory
+ * A {@link GeneratorFactory} that produces {@link 
OutcomePriorFeatureGenerator} instances
+ * when {@link #create()} is called.
+ *
+ * @see OutcomePriorFeatureGenerator
  */
 public class DefinitionFeatureGeneratorFactory
     extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {
 
-  private static final String ELEMENT_NAME = "definition";
-
   public DefinitionFeatureGeneratorFactory() {
     super();
   }
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DictionaryFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DictionaryFeatureGenerator.java
index 9963e230..42089f94 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DictionaryFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DictionaryFeatureGenerator.java
@@ -24,8 +24,8 @@ import opennlp.tools.dictionary.Dictionary;
 import opennlp.tools.namefind.DictionaryNameFinder;
 
 /**
- * The {@link DictionaryFeatureGenerator} uses the {@link DictionaryNameFinder}
- * to generated features for detected names based on the {@link 
InSpanGenerator}.
+ * The {@link DictionaryFeatureGenerator} uses a {@link DictionaryNameFinder}
+ * to generate features for detected names based on the {@link 
InSpanGenerator}.
  *
  * @see Dictionary
  * @see DictionaryNameFinder
@@ -35,16 +35,27 @@ public class DictionaryFeatureGenerator implements 
AdaptiveFeatureGenerator {
 
   private InSpanGenerator isg;
 
+  /**
+   * Initializes a {@link DictionaryFeatureGenerator} with the specified 
{@link Dictionary}.
+   *
+   * @param dict The {@link Dictionary} to use. Must not be {@code null}.
+   */
   public DictionaryFeatureGenerator(Dictionary dict) {
-    this("",dict);
+    this("", dict);
   }
 
+  /**
+   * Initializes a {@link DictionaryFeatureGenerator} with the specified 
parameters.
+   *
+   * @param prefix The prefix to set. Must not be {@code null} but may be 
empty.
+   * @param dict The {@link Dictionary} to use. Must not be {@code null}.
+   */
   public DictionaryFeatureGenerator(String prefix, Dictionary dict) {
-    setDictionary(prefix,dict);
+    setDictionary(prefix, dict);
   }
 
   public void setDictionary(Dictionary dict) {
-    setDictionary("",dict);
+    setDictionary("", dict);
   }
 
   public void setDictionary(String name, Dictionary dict) {
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DictionaryFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DictionaryFeatureGeneratorFactory.java
index 4d49a076..39d0a76f 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DictionaryFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DictionaryFeatureGeneratorFactory.java
@@ -28,6 +28,9 @@ import opennlp.tools.util.model.ArtifactSerializer;
 import opennlp.tools.util.model.DictionarySerializer;
 
 /**
+ * A {@link GeneratorFactory} that produces {@link DictionaryFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
  * @see DictionaryFeatureGenerator
  */
 public class DictionaryFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DocumentBeginFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DocumentBeginFeatureGenerator.java
index 5531f9ed..dec1dd01 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DocumentBeginFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DocumentBeginFeatureGenerator.java
@@ -19,6 +19,11 @@ package opennlp.tools.util.featuregen;
 
 import java.util.List;
 
+/**
+ * This feature generator creates document begin features.
+ *
+ * @see AdaptiveFeatureGenerator
+ */
 public class DocumentBeginFeatureGenerator implements AdaptiveFeatureGenerator 
{
 
   private String[] firstSentence;
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DocumentBeginFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DocumentBeginFeatureGeneratorFactory.java
index 419d4b25..dfefc744 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DocumentBeginFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/DocumentBeginFeatureGeneratorFactory.java
@@ -19,6 +19,12 @@ package opennlp.tools.util.featuregen;
 
 import opennlp.tools.util.InvalidFormatException;
 
+/**
+ * A {@link GeneratorFactory} that produces {@link 
DocumentBeginFeatureGenerator} instances
+ * when {@link #create()} is called.
+ *
+ * @see DocumentBeginFeatureGenerator
+ */
 public class DocumentBeginFeatureGeneratorFactory
     extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/FeatureGeneratorResourceProvider.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/FeatureGeneratorResourceProvider.java
index f33c3acb..b39cc3ec 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/FeatureGeneratorResourceProvider.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/FeatureGeneratorResourceProvider.java
@@ -18,14 +18,16 @@
 
 package opennlp.tools.util.featuregen;
 
+import opennlp.tools.commons.Internal;
+
 /**
  * The {@link FeatureGeneratorResourceProvider} provides access to the 
resources
  * available in the model. Inside the model resources are identified by a name.
- * <p>
- * <b>Note:</b><br>
- * This class is not be intended to be implemented by users.<br>
+ *
+ * @apiNote This interface is not intended to be implemented by users.<br>
  * All implementing classes must be thread safe.
  */
+@Internal
 public interface FeatureGeneratorResourceProvider {
 
   /**
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/GeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/GeneratorFactory.java
index dcb9ccc2..f5795cca 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/GeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/GeneratorFactory.java
@@ -293,7 +293,7 @@ public class GeneratorFactory {
   }
 
   /**
-   * Provides a list with all the elements in the xml feature descriptor.
+   * Provides a {@link List} with all the elements in the xml feature 
descriptor.
    *
    * @param xmlDescriptorIn the xml feature descriptor
    * @return a list containing all elements
@@ -516,8 +516,9 @@ public class GeneratorFactory {
     }
 
     /**
-     * @return {@code null} if the subclass uses {@link #resourceManager} to 
instantiate
-     * @throws InvalidFormatException
+     * @return {@code null} if the subclass uses {@link #resourceManager} to 
instantiate.
+     * 
+     * @throws InvalidFormatException Thrown if the format is incorrect.
      */
     public abstract AdaptiveFeatureGenerator create() throws 
InvalidFormatException;
   }
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/InSpanGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/InSpanGenerator.java
index 28de1863..cd9dd9ab 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/InSpanGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/InSpanGenerator.java
@@ -26,9 +26,16 @@ import opennlp.tools.util.Span;
 /**
  * Generates features if the tokens are recognized by the provided
  * {@link TokenNameFinder}.
+ *
+ * @see AdaptiveFeatureGenerator
+ * @see TokenNameFinder
+ * @see Span
  */
 public class InSpanGenerator implements AdaptiveFeatureGenerator {
 
+  private static final String W_DIC = ":w=dic";
+  private static final String W_DIC_IS = W_DIC + "=";
+
   private final String prefix;
 
   private final TokenNameFinder finder;
@@ -64,8 +71,8 @@ public class InSpanGenerator implements 
AdaptiveFeatureGenerator {
     for (Span currentName : currentNames) {
       if (currentName.contains(index)) {
         // found a span for the current token
-        features.add(prefix + ":w=dic");
-        features.add(prefix + ":w=dic=" + tokens[index]);
+        features.add(prefix + W_DIC);
+        features.add(prefix + W_DIC_IS + tokens[index]);
 
         // TODO: consider generation start and continuation features
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/OutcomePriorFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/OutcomePriorFeatureGenerator.java
index 9e0bf74a..82723edc 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/OutcomePriorFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/OutcomePriorFeatureGenerator.java
@@ -21,6 +21,8 @@ import java.util.List;
 
 /**
  * The definition feature maps the underlying distribution of outcomes.
+ *
+ * @see AdaptiveFeatureGenerator
  */
 public class OutcomePriorFeatureGenerator implements AdaptiveFeatureGenerator {
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/POSTaggerNameFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/POSTaggerNameFeatureGenerator.java
index 9b67f684..57cb81f2 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/POSTaggerNameFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/POSTaggerNameFeatureGenerator.java
@@ -27,7 +27,11 @@ import opennlp.tools.postag.POSTagger;
 import opennlp.tools.postag.POSTaggerME;
 
 /**
- * Adds the token POS Tag as feature. Requires a POS Tag model.
+ * Adds the token POS tag as feature. Requires a {@link POSTagger} at runtime.
+ *
+ * @see AdaptiveFeatureGenerator
+ * @see POSTagger
+ * @see POSModel
  */
 public class POSTaggerNameFeatureGenerator implements AdaptiveFeatureGenerator 
{
 
@@ -37,24 +41,24 @@ public class POSTaggerNameFeatureGenerator implements 
AdaptiveFeatureGenerator {
   private String[] cachedTags;
 
   /**
-   * Initializes a new instance.
+   * Initializes a {@link POSTaggerNameFeatureGenerator} with the specified 
{@link POSTagger}.
    *
-   * @param aPosTagger a POSTagger implementation.
+   * @param aPosTagger A POSTagger instance to be used.
    */
   public POSTaggerNameFeatureGenerator(POSTagger aPosTagger) {
     this.posTagger = aPosTagger;
   }
 
   /**
-   * Initializes a new instance.
+   * Initializes a {@link POSTaggerNameFeatureGenerator} with the specified 
{@link POSModel}.
    *
-   * @param aPosModel a POSTagger model.
+   * @param aPosModel A {@link POSModel} to be used for the internal {@link 
POSTagger}.
    */
   public POSTaggerNameFeatureGenerator(POSModel aPosModel) {
     this.posTagger = new POSTaggerME(aPosModel, 
POSTagFormatMapper.guessFormat(aPosModel));
   }
 
-
+  @Override
   public void createFeatures(List<String> feats, String[] toks, int index, 
String[] preds) {
     if (!Arrays.equals(this.cachedTokens, toks)) {
       this.cachedTokens = toks;
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/POSTaggerNameFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/POSTaggerNameFeatureGeneratorFactory.java
index 3f44c8c6..6ba2961b 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/POSTaggerNameFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/POSTaggerNameFeatureGeneratorFactory.java
@@ -26,6 +26,9 @@ import opennlp.tools.util.model.ArtifactSerializer;
 import opennlp.tools.util.model.POSModelSerializer;
 
 /**
+ * A {@link GeneratorFactory} that produces {@link 
POSTaggerNameFeatureGenerator} instances
+ * when {@link #create()} is called.
+ *
  * @see POSTaggerNameFeatureGenerator
  */
 public class POSTaggerNameFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PosTaggerFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PosTaggerFeatureGenerator.java
index bdfe4875..a7f677f6 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PosTaggerFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PosTaggerFeatureGenerator.java
@@ -19,6 +19,11 @@ package opennlp.tools.util.featuregen;
 
 import java.util.List;
 
+/**
+ * A POS tagging driven feature generator. Adds words and pos tags of the 
surrounding context.
+ *
+ * @see AdaptiveFeatureGenerator
+ */
 public class PosTaggerFeatureGenerator implements AdaptiveFeatureGenerator {
 
   private static final String SB = "S=begin";
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PosTaggerFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PosTaggerFeatureGeneratorFactory.java
index 88624db7..6320fd61 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PosTaggerFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PosTaggerFeatureGeneratorFactory.java
@@ -19,6 +19,12 @@ package opennlp.tools.util.featuregen;
 
 import opennlp.tools.util.InvalidFormatException;
 
+/**
+ * A {@link GeneratorFactory} that produces {@link PosTaggerFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
+ * @see PosTaggerFeatureGenerator
+ */
 public class PosTaggerFeatureGeneratorFactory
     extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PrefixFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PrefixFeatureGenerator.java
index 6466feef..35529661 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PrefixFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PrefixFeatureGenerator.java
@@ -19,18 +19,35 @@ package opennlp.tools.util.featuregen;
 
 import java.util.List;
 
+/**
+ * A feature generator implementation that generates prefix-based features.
+ *
+ * @see AdaptiveFeatureGenerator
+ */
 public class PrefixFeatureGenerator implements AdaptiveFeatureGenerator {
 
   private static final String PREFIX = "pre=";
 
+  /**
+   * The default upper boundary prefix length value is {@code 4}.
+   */
   static final int DEFAULT_MAX_LENGTH = 4;
   
   private final int prefixLength;
-  
+
+  /**
+   * Intializes a default {@link PrefixFeatureGenerator}.
+   * The prefixLength length is set to the value of {@link 
#DEFAULT_MAX_LENGTH}.
+   */
   public PrefixFeatureGenerator() {
     prefixLength = DEFAULT_MAX_LENGTH;
   }
-  
+
+  /**
+   * Intializes a {@link PrefixFeatureGenerator} with the specified {@code 
prefixLength}.
+   *
+   * @param prefixLength The upper boundary prefix length to use.
+   */
   public PrefixFeatureGenerator(int prefixLength) {
     this.prefixLength = prefixLength;
   }
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PrefixFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PrefixFeatureGeneratorFactory.java
index 4f475ae9..7ed08f1b 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PrefixFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PrefixFeatureGeneratorFactory.java
@@ -20,6 +20,9 @@ package opennlp.tools.util.featuregen;
 import opennlp.tools.util.InvalidFormatException;
 
 /**
+ * A {@link GeneratorFactory} that produces {@link PrefixFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
  * @see PrefixFeatureGenerator
  */
 public class PrefixFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousMapFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousMapFeatureGenerator.java
index 544c6fca..1daff822 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousMapFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousMapFeatureGenerator.java
@@ -36,10 +36,12 @@ public class PreviousMapFeatureGenerator implements 
AdaptiveFeatureGenerator {
 
   /**
    * Generates previous decision features for the token based on contents of 
the previous map.
+   * 
+   * @param tokens The tokens of the sentence or other text unit which has 
been processed.
+   * @param outcomes The outcomes associated with the specified tokens.
    */
   @Override
   public void updateAdaptiveData(String[] tokens, String[] outcomes) {
-
     for (int i = 0; i < tokens.length; i++) {
       previousMap.put(tokens[i], outcomes[i]);
     }
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousMapFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousMapFeatureGeneratorFactory.java
index 6bfa846a..e81d5111 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousMapFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousMapFeatureGeneratorFactory.java
@@ -17,10 +17,12 @@
 
 package opennlp.tools.util.featuregen;
 
-
 import opennlp.tools.util.InvalidFormatException;
 
 /**
+ * A {@link GeneratorFactory} that produces {@link 
PreviousMapFeatureGenerator} instances
+ * when {@link #create()} is called.
+ *
  * @see PreviousMapFeatureGenerator
  */
 public class PreviousMapFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousTwoMapFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousTwoMapFeatureGenerator.java
index 0c59e2d4..90513963 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousTwoMapFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/PreviousTwoMapFeatureGenerator.java
@@ -24,6 +24,8 @@ import java.util.Map;
 /**
  * This {@link AdaptiveFeatureGenerator} generates features indicating the
  * outcome associated with two previously occurring words.
+ *
+ * @see AdaptiveFeatureGenerator
  */
 public class PreviousTwoMapFeatureGenerator implements 
AdaptiveFeatureGenerator {
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SentenceFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SentenceFeatureGenerator.java
index 1c76c138..7d10b263 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SentenceFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SentenceFeatureGenerator.java
@@ -21,6 +21,8 @@ import java.util.List;
 
 /**
  * This feature generator creates sentence begin and end features.
+ *
+ * @see AdaptiveFeatureGenerator
  */
 public class SentenceFeatureGenerator implements AdaptiveFeatureGenerator {
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SentenceFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SentenceFeatureGeneratorFactory.java
index d452fe7e..115a2fb9 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SentenceFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SentenceFeatureGeneratorFactory.java
@@ -20,6 +20,9 @@ package opennlp.tools.util.featuregen;
 import opennlp.tools.util.InvalidFormatException;
 
 /**
+ * A {@link GeneratorFactory} that produces {@link SentenceFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
  * @see SentenceFeatureGenerator
  */
 public class SentenceFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SuffixFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SuffixFeatureGenerator.java
index e890cf08..25016845 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SuffixFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SuffixFeatureGenerator.java
@@ -19,18 +19,35 @@ package opennlp.tools.util.featuregen;
 
 import java.util.List;
 
+/**
+ * A feature generator implementation that generates suffix-based features.
+ *
+ * @see AdaptiveFeatureGenerator
+ */
 public class SuffixFeatureGenerator implements AdaptiveFeatureGenerator {
 
   private static final String PREFIX = "suf=";
 
+  /**
+   * The default upper boundary suffix length value is {@code 4}.
+   */
   static final int DEFAULT_MAX_LENGTH = 4;
     
   private final int suffixLength;
-  
+
+  /**
+   * Intializes a {@link SuffixFeatureGenerator}.
+   * The suffix length is set to the value of {@link #DEFAULT_MAX_LENGTH}.
+   */
   public SuffixFeatureGenerator() {
     suffixLength = DEFAULT_MAX_LENGTH;
   }
-  
+
+  /**
+   * Intializes a {@link SuffixFeatureGenerator} with the specified {@code 
suffixLength}.
+   *
+   * @param suffixLength The upper boundary suffix length to use.
+   */
   public SuffixFeatureGenerator(int suffixLength) {
     this.suffixLength = suffixLength;
   }
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SuffixFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SuffixFeatureGeneratorFactory.java
index ef730943..f888e254 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SuffixFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/SuffixFeatureGeneratorFactory.java
@@ -20,6 +20,9 @@ package opennlp.tools.util.featuregen;
 import opennlp.tools.util.InvalidFormatException;
 
 /**
+ * A {@link GeneratorFactory} that produces {@link SuffixFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
  * @see SuffixFeatureGenerator
  */
 public class SuffixFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenClassFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenClassFeatureGenerator.java
index 07a8d40f..4454522b 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenClassFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenClassFeatureGenerator.java
@@ -23,7 +23,9 @@ import opennlp.tools.util.StringUtil;
 
 
 /**
- * Generates features for the class of the token.
+ * Generates features for the class of a token.
+ *
+ * @see AdaptiveFeatureGenerator
  */
 public class TokenClassFeatureGenerator implements AdaptiveFeatureGenerator {
 
@@ -32,10 +34,20 @@ public class TokenClassFeatureGenerator implements 
AdaptiveFeatureGenerator {
 
   private final boolean generateWordAndClassFeature;
 
+  /**
+   * Initalizes a {@link TokenClassFeatureGenerator} which won't generate
+   * the {@code w&c} feature per token.
+   */
   public TokenClassFeatureGenerator() {
     this(false);
   }
 
+  /**
+   * Initalizes a {@link TokenClassFeatureGenerator}.
+   *
+   * @param generateWordAndClassFeature If {@code true} the {@code w&c} 
feature will be
+   *                                    generated per token, {@code false} 
otherwise.
+   */
   public TokenClassFeatureGenerator(boolean generateWordAndClassFeature) {
     this.generateWordAndClassFeature = generateWordAndClassFeature;
   }
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenClassFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenClassFeatureGeneratorFactory.java
index 54540823..f370e0ef 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenClassFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenClassFeatureGeneratorFactory.java
@@ -20,6 +20,9 @@ package opennlp.tools.util.featuregen;
 import opennlp.tools.util.InvalidFormatException;
 
 /**
+ * A {@link GeneratorFactory} that produces {@link TokenClassFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
  * @see TokenClassFeatureGenerator
  */
 public class TokenClassFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenFeatureGenerator.java
index 53119e06..a097538f 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenFeatureGenerator.java
@@ -23,7 +23,9 @@ import java.util.List;
 import opennlp.tools.util.StringUtil;
 
 /**
- * Generates a feature which contains the token itself.
+ * Generates a feature which contains a token itself.
+ *
+ * @see AdaptiveFeatureGenerator
  */
 public class TokenFeatureGenerator implements AdaptiveFeatureGenerator {
 
@@ -33,7 +35,7 @@ public class TokenFeatureGenerator implements 
AdaptiveFeatureGenerator {
   /**
    * Initializes a {@link TokenFeatureGenerator}.
    *
-   * @param lowercase Whether to use lower-casing or not.
+   * @param lowercase Whether or not to use lower-casing.
    */
   public TokenFeatureGenerator(boolean lowercase) {
     this.lowercase = lowercase;
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenFeatureGeneratorFactory.java
index 51ca9ad8..1853a1f9 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenFeatureGeneratorFactory.java
@@ -19,6 +19,12 @@ package opennlp.tools.util.featuregen;
 
 import opennlp.tools.util.InvalidFormatException;
 
+/**
+ * A {@link GeneratorFactory} that produces {@link TokenFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
+ * @see TokenFeatureGenerator
+ */
 public class TokenFeatureGeneratorFactory
     extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenPatternFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenPatternFeatureGenerator.java
index 512230a5..8596244d 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenPatternFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenPatternFeatureGenerator.java
@@ -28,6 +28,9 @@ import opennlp.tools.util.StringUtil;
 /**
  * Partitions tokens into sub-tokens based on character classes and generates
  * class features for each of the sub-tokens and combinations of those 
sub-tokens.
+ *
+ * @see AdaptiveFeatureGenerator
+ * @see Tokenizer
  */
 public class TokenPatternFeatureGenerator implements AdaptiveFeatureGenerator {
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenPatternFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenPatternFeatureGeneratorFactory.java
index 05d64441..1954aa5e 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenPatternFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TokenPatternFeatureGeneratorFactory.java
@@ -20,6 +20,9 @@ package opennlp.tools.util.featuregen;
 import opennlp.tools.util.InvalidFormatException;
 
 /**
+ * A {@link GeneratorFactory} instantiates {@link 
TokenPatternFeatureGenerator} instances
+ * when {@link #create()} is called.
+ *
  * @see TokenPatternFeatureGenerator
  */
 public class TokenPatternFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TrigramNameFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TrigramNameFeatureGenerator.java
index 76258e07..5f5aeb05 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TrigramNameFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TrigramNameFeatureGenerator.java
@@ -22,6 +22,7 @@ import java.util.List;
 /**
  * Adds trigram features based on tokens and token classes.
  *
+ * @see AdaptiveFeatureGenerator
  */
 public class TrigramNameFeatureGenerator implements AdaptiveFeatureGenerator {
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TrigramNameFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TrigramNameFeatureGeneratorFactory.java
index 80f1abee..85137d28 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TrigramNameFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/TrigramNameFeatureGeneratorFactory.java
@@ -19,6 +19,12 @@ package opennlp.tools.util.featuregen;
 
 import opennlp.tools.util.InvalidFormatException;
 
+/**
+ * A {@link GeneratorFactory} that produces {@link 
TrigramNameFeatureGenerator} instances
+ * when {@link #create()} is called.
+ *
+ * @see TrigramNameFeatureGenerator
+ */
 public class TrigramNameFeatureGeneratorFactory
     extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {
 
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WindowFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WindowFeatureGeneratorFactory.java
index 8f413b87..fecdb46e 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WindowFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WindowFeatureGeneratorFactory.java
@@ -20,6 +20,9 @@ package opennlp.tools.util.featuregen;
 import opennlp.tools.util.InvalidFormatException;
 
 /**
+ * A {@link GeneratorFactory} that produces {@link WindowFeatureGenerator} 
instances
+ * when {@link #create()} is called.
+ *
  * @see WindowFeatureGenerator
  */
 public class WindowFeatureGeneratorFactory
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WordClusterFeatureGenerator.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WordClusterFeatureGenerator.java
index b98cd9bb..6f380307 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WordClusterFeatureGenerator.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WordClusterFeatureGenerator.java
@@ -25,6 +25,7 @@ import opennlp.tools.util.StringUtil;
  * An {@link AdaptiveFeatureGenerator} implementation of a word cluster 
feature generator.
  * It is based on a pre-defined {@link WordClusterDictionary}.
  *
+ * @see AdaptiveFeatureGenerator
  * @see WordClusterDictionary
  */
 public class WordClusterFeatureGenerator implements AdaptiveFeatureGenerator {
diff --git 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WordClusterFeatureGeneratorFactory.java
 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WordClusterFeatureGeneratorFactory.java
index 7ea19edd..5922d4e5 100644
--- 
a/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WordClusterFeatureGeneratorFactory.java
+++ 
b/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/WordClusterFeatureGeneratorFactory.java
@@ -24,9 +24,11 @@ import opennlp.tools.util.InvalidFormatException;
 import opennlp.tools.util.model.ArtifactSerializer;
 
 /**
- * Defines a word cluster generator factory; it reads an element containing
+ * Defines a word cluster {@link GeneratorFactory}; it reads an element 
containing
  * 'w2vwordcluster' as a tag name. These clusters are typically produced by
  * word2vec or clark pos induction systems.
+ *
+ * @see WordClusterFeatureGenerator
  */
 public class WordClusterFeatureGeneratorFactory
     extends GeneratorFactory.AbstractXmlFeatureGeneratorFactory {

Reply via email to