package siena; import siena.core.options.QueryOption; public class QueryFilterSearch extends QueryFilter { public String match; public QueryOption option; public String[] fields; public QueryFilterSearch() { } public QueryFilterSearch(String match, String... fields) { this.match = match; this.fields = fields; } public QueryFilterSearch(String match, QueryOption option, String... fields) { this.match = match; this.option = option; this.fields = fields; } public String toString() { return "match:"+this.match+" - option:"+this.option+" - fields:"+this.fields; } public boolean equals(Object obj){ if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; QueryFilterSearch l = (QueryFilterSearch)obj; boolean ok = true; for(int i=0; i<fields.length; i++){ if((fields[i]==null && l.fields[i]!=null) || !fields[i].equals(l.fields[i])) { ok = false; break; } } return (this.match == null?l.match==null:this.match.equals(l.match)) && (this.option == null?l.option==null:this.option.equals(l.option)) && ok; } }