Class ThreadSafeLanguageDetectorME

java.lang.Object
opennlp.tools.langdetect.ThreadSafeLanguageDetectorME
All Implemented Interfaces:
AutoCloseable, opennlp.tools.langdetect.LanguageDetector

@ThreadSafe public class ThreadSafeLanguageDetectorME extends Object implements opennlp.tools.langdetect.LanguageDetector, AutoCloseable
A thread-safe version of the LanguageDetectorME. Using it is completely transparent. You can use it in a single-threaded context as well, it only incurs a minimal overhead.

Note:
This implementation uses a ThreadLocal. Although the implementation is lightweight because the model is not duplicated, if you have many long-running threads, you may run into memory problems.

Be careful when using this in a Jakarta EE application, for example.

The user is responsible for clearing the ThreadLocal via calling close().
See Also:
  • Constructor Details

  • Method Details

    • predictLanguages

      public opennlp.tools.langdetect.Language[] predictLanguages(CharSequence content)
      Specified by:
      predictLanguages in interface opennlp.tools.langdetect.LanguageDetector
    • predictLanguage

      public opennlp.tools.langdetect.Language predictLanguage(CharSequence content)
      Specified by:
      predictLanguage in interface opennlp.tools.langdetect.LanguageDetector
    • getSupportedLanguages

      public String[] getSupportedLanguages()
      Specified by:
      getSupportedLanguages in interface opennlp.tools.langdetect.LanguageDetector
    • close

      public void close()
      Specified by:
      close in interface AutoCloseable