package org.apache.lucene.queryparser.spans; /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import org.apache.lucene.search.FuzzyQuery; class SQPFuzzyTerm extends SQPTerminal { private final String term; //use non-primitives to differentiate between an actual parsed //value and a default private boolean transpositions = FuzzyQuery.defaultTranspositions; private Integer maxEdits = null; private Integer prefixLength = null; SQPFuzzyTerm(String term) { this.term = term; } public boolean isTranspositions() { return transpositions; } public void setTranspositions(boolean transpositions) { this.transpositions = transpositions; } public Integer getMaxEdits() { return maxEdits; } public void setMaxEdits(Integer maxEdits) { this.maxEdits = maxEdits; } public Integer getPrefixLength() { return prefixLength; } public void setPrefixLength(Integer prefixLength) { this.prefixLength = prefixLength; } @Override public String getString() { return term; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; if (!super.equals(o)) return false; SQPFuzzyTerm that = (SQPFuzzyTerm) o; if (transpositions != that.transpositions) return false; if (maxEdits != null ? !maxEdits.equals(that.maxEdits) : that.maxEdits != null) return false; if (prefixLength != null ? !prefixLength.equals(that.prefixLength) : that.prefixLength != null) return false; return term != null ? term.equals(that.term) : that.term == null; } @Override public int hashCode() { int result = super.hashCode(); result = 31 * result + (term != null ? term.hashCode() : 0); result = 31 * result + (transpositions ? 1 : 0); result = 31 * result + (maxEdits != null ? maxEdits.hashCode() : 0); result = 31 * result + (prefixLength != null ? prefixLength.hashCode() : 0); return result; } @Override public String toString() { return "SQPFuzzyTerm{" + "term='" + term + '\'' + ", transpositions=" + transpositions + ", maxEdits=" + maxEdits + ", prefixLength=" + prefixLength + '}'; } }