Class AccurateSrxTextIterator

java.lang.Object
net.loomchild.segment.AbstractTextIterator
net.loomchild.segment.srx.legacy.AccurateSrxTextIterator
All Implemented Interfaces:
Iterator<String>, TextIterator

public class AccurateSrxTextIterator extends AbstractTextIterator
Reprezentuje splitter dzielący na podstawie reguł zawartych w pliku srx.
  • Field Details

    • languageRuleList

      private List<LanguageRule> languageRuleList
    • text

      private CharSequence text
    • segment

      private String segment
    • ruleMatcherList

      private List<RuleMatcher> ruleMatcherList
    • startPosition

      private int startPosition
    • endPosition

      private int endPosition
  • Constructor Details

    • AccurateSrxTextIterator

      public AccurateSrxTextIterator(SrxDocument document, String languageCode, CharSequence text)
      Creates text iterator that obtains language rules form given document using given language code. To retrieve language rules calls SrxDocument.getLanguageRuleList(String).
      Parameters:
      document - document containing language rules
      languageCode - language code to select the rules
      text -
  • Method Details

    • next

      public String next()
      Wyszukuje następne dopasowanie.
      Returns:
      Zwraca następny segment albo null jeśli nie istnieje
      Throws:
      IOSRuntimeException - Zgłaszany gdy nastąpi błąd przy odczycie strumienia
    • hasNext

      public boolean hasNext()
      Returns:
      Zwraca true gdy są dostępne kolejne segmenty
    • initMatchers

      private void initMatchers()
    • moveMatchers

      private void moveMatchers()
      Przesuwa iteratory na kolejną pozycje jeśli to konieczne.
    • cutMatchers

      private void cutMatchers()
      Move matchers that start before previous segment end.
    • getMinMatcher

      private RuleMatcher getMinMatcher()
      Returns:
      Zwraca iterator pierwszego trafionego dopasowania