package Ġcom . may abot . nlp . segment . plugins . collector Ċ Ċ import Ġcom . may abot . nlp . segment . Word Term Ċ import Ġcom . may abot . nlp . segment . word net . Word net Ċ import Ġcom . may abot . nlp . segment . word net . Word path Ċ import Ġcom . may abot . nlp . utils . StringUtils Ċ import Ġjava . util . function . Consumer Ċ Ċ /** Ċ Ġ* ĠN lp æĶ¶éĽĨ æĸ¹å¼ı ï¼Į ä¸į å¤ĦçĲĨ åŃĲ è¯į Ċ Ġ* Ġ æĮīçħ§ Word Path éĩĮéĿ¢ æııè¿° çļĦ åĶ¯ä¸Ģ åĪĩ åĪĨ è·¯å¾Ħ ï¼Į æŀĦå»º Word Term åºıåĪĹ Ċ Ġ* Ċ Ġ* Ġ@ author Ġj im ich an Ċ Ġ*/ Ċ class ĠSentence Collector Ġ: ĠWord Term Collector Ġ{ ĊĊĠĠĠ Ġoverride Ġvar Ġpick Up Sub word : ĠWord Term Collector . Pick Up Sub word ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġvar Ġfill Sub word : ĠWord Term Collector . Fill Sub word ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġcollect ( txt Chars : CharArray ?, word net : ĠWord net , Ġword Path : ĠWord path , Ġconsumer : ĠConsumer < Word Term >) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġvertex Iterator Ġ= Ġword Path . iterator Vertex () ĊĊĠĠĠĠĠĠĠ Ġfill Sub word ?. fill ( word net , Ġword Path ) ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( vertex Iterator . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvertex Ġ= Ġvertex Iterator . next () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġword Ġ= Ġif ( txt Chars == null ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvertex . real Word () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString ( txt Chars , Ġvertex . offset (), Ġvertex . length ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġterm Ġ= ĠWord Term ( word , Ġvertex . nature , Ġvertex . offset ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( StringUtils . is WhiteSpace ( term . word )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpick Ġ= Ġpick Up Sub word ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pick Ġ!= Ġnull Ġ&& Ġterm . length () Ġ>= Ġ 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpick . pickup ( term , Ġword net , Ġword Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġconsumer . accept ( term ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ