Hi all,

Under the package opennlp.tools.util.featuregen there is an
interface AdaptiveFeatureGenerator and an abstract
class FeatureGeneratorAdapter. The interface defines
the createFeatures(), updateAdaptiveData(), and clearAdaptiveData()
methods. The abstract class implements this interface to provide default
implementations of the updateAdaptiveData() and clearAdaptiveData()
functions. Feature generators then either implement the interface or extend
the abstract class.

I created a patch to refactor these classes to remove the interface and use
the abstract class. (My motivation was I kept getting
AdaptiveFeatureGenerator and FeatureGeneratorAdapter confused due to their
similar naming and the inconsistency of feature generators either
implementing or extending.) The project does build and test with the patch
applied.

If you think this is a worthwhile change I'll submit it on JIRA. If not, no
problem and I'll work on not being confused. (Or if there's a reason for
both the interface and the abstract class that I'm not aware of please let
me know!)

Thanks,
Jeff

Reply via email to