Class MergedPattern

java.lang.Object
net.loomchild.segment.srx.legacy.MergedPattern

public class MergedPattern extends Object
Represents merged splitting pattern. Responsible for merging breaking rules into one large pattern and creating non breaking rules pattern.
  • Field Details

    • maxLookbehindConstructLength

      private int maxLookbehindConstructLength
    • breakingPattern

      private Pattern breakingPattern
    • nonBreakingPatternList

      private List<Pattern> nonBreakingPatternList
    • breakingRuleIndexList

      private List<Integer> breakingRuleIndexList
  • Constructor Details

    • MergedPattern

      public MergedPattern(List<LanguageRule> languageRuleList, int maxLookbehindConstructLength)
  • Method Details

    • getBreakingPattern

      public Pattern getBreakingPattern()
    • getNonBreakingPatternList

      public List<Pattern> getNonBreakingPatternList(int breakingRuleIndex)
      Returns all applicable non breaking rules when breaking rule with a given number was matched (non breaking rules that occur before given breaking rule in SRX file).
      Parameters:
      breakingRuleIndex -
      Returns:
      Active non breaking patterns for a given breaking rule
    • extractRules

      private List<Rule> extractRules(List<LanguageRule> languageRuleList)
      Parameters:
      languageRuleList -
      Returns:
      merged list of rules form given language rules
    • groupRules

      private List<List<Rule>> groupRules(List<Rule> ruleList)
      Divides rules to groups where all rules in the same group are either breaking or non breaking. Does not change rule order.
      Parameters:
      ruleList -
      Returns:
      list of grouped rules
    • createBreakingPattern

      private String createBreakingPattern(List<Rule> ruleList)
      Merges all breaking rules on list into one pattern.
      Parameters:
      ruleList -
      Returns:
      breaking pattern
    • createNonBreakingPattern

      private String createNonBreakingPattern(List<Rule> ruleList)
      Creates non breaking pattern by merging given rules.
      Parameters:
      ruleList -
      Returns:
      Non breaking pattern