Class ThreadSafeSentenceDetectorME

java.lang.Object
opennlp.tools.sentdetect.ThreadSafeSentenceDetectorME
All Implemented Interfaces:
AutoCloseable, SentenceDetector

@ThreadSafe public class ThreadSafeSentenceDetectorME extends Object implements SentenceDetector, AutoCloseable
A thread-safe version of SentenceDetectorME. Using it is completely transparent. You can use it in a single-threaded context as well, it only incurs a minimal overhead.

Note, however, that 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.
  • Constructor Details

    • ThreadSafeSentenceDetectorME

      public ThreadSafeSentenceDetectorME(SentenceModel model)
  • Method Details

    • getSentenceProbabilities

      public double[] getSentenceProbabilities()
    • sentDetect

      public String[] sentDetect(CharSequence s)
      Description copied from interface: SentenceDetector
      Detects sentences in a character sequence.
      Specified by:
      sentDetect in interface SentenceDetector
      Parameters:
      s - The CharSequence for which sentences shall to be detected.
      Returns:
      The String[] with the individual sentences as the array elements.
    • sentPosDetect

      public Span[] sentPosDetect(CharSequence s)
      Description copied from interface: SentenceDetector
      Detects sentences in a character sequence.
      Specified by:
      sentPosDetect in interface SentenceDetector
      Parameters:
      s - The CharSequence for which sentences shall be detected.
      Returns:
      The array of spans (offsets into s) for each detected sentence as the individuals array elements.
    • close

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