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 theThreadLocal
via calling close().- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()String[]opennlp.tools.langdetect.LanguagepredictLanguage(CharSequence content) opennlp.tools.langdetect.Language[]predictLanguages(CharSequence content)
-
Constructor Details
-
ThreadSafeLanguageDetectorME
Initializes aThreadSafeLanguageDetectorMEwith the specifiedmodel.- Parameters:
model- A validLanguageDetectorModel.
-
-
Method Details
-
predictLanguages
- Specified by:
predictLanguagesin interfaceopennlp.tools.langdetect.LanguageDetector
-
predictLanguage
- Specified by:
predictLanguagein interfaceopennlp.tools.langdetect.LanguageDetector
-
getSupportedLanguages
- Specified by:
getSupportedLanguagesin interfaceopennlp.tools.langdetect.LanguageDetector
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-