package org.ansj.domain; import java.util.Iterator; import java.util.List; import org.ansj.recognition.Recognition; import org.nlpcn.commons.lang.util.StringUtil; /** * 分词结果的一个封装 * * @author Ansj * */ public class Result implements Iterable<Term> { private List<Term> terms = null; public Result(List<Term> terms) { this.terms = terms; } public List<Term> getTerms() { return terms; } public void setTerms(List<Term> terms) { this.terms = terms; } @Override public Iterator<Term> iterator() { return terms.iterator(); } public int size() { return terms.size(); } public Term get(int index) { return terms.get(index); } /** * 调用一个发现引擎 * * @return */ public Result recognition(Recognition re) { re.recognition(this); return this; } @Override public String toString() { return toString(","); } public String toString(String split) { return StringUtil.joiner(this.terms, split); } /** * 返回没有词性的切分结果 * @return */ public String toStringWithOutNature(){ return toStringWithOutNature(","); } /** * 返回没有词性的切分结果 * @return */ public String toStringWithOutNature(String split) { if(terms==null || terms.size()==0){ return "" ; } Iterator<Term> iterator = terms.iterator() ; StringBuilder sb = new StringBuilder(iterator.next().getRealName()) ; while(iterator.hasNext()){ sb.append(split); sb.append(iterator.next().getRealName()) ; } return sb.toString(); } }