package org.openmrs.api.search; import java.util.Map; import java.util.regex.Pattern; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.search.BooleanClause.Occur; import org.apache.lucene.search.Query; public interface SearchParser { public void setFields(String[] fields); public String[] getFields(); public void setAnalyzer(Analyzer analyzer); public Analyzer getAnalyzer(); public void setSyntax(Map<Pattern, ChainedParser<String,String>> links); public void addSyntax(Pattern pattern, ChainedParser<String,String> link); public void setFlags(Occur[] flags); public Occur[] getFags(); public Map<Pattern, ChainedParser<String,String>> getSyntax(); public String parseSyntax(String searchString, Map<Pattern, ChainedParser<String, String>> links); public Query parse(String searchString); }