package org.infinispan.objectfilter.impl.syntax;
/**
* @author anistor@redhat.com
* @since 9.0
*/
public final class FullTextTermExpr implements PrimaryPredicateExpr {
private final ValueExpr leftChild;
private final String term;
private final Integer fuzzySlop;
public FullTextTermExpr(ValueExpr leftChild, String term, Integer fuzzySlop) {
this.leftChild = leftChild;
this.term = term;
this.fuzzySlop = fuzzySlop;
}
public String getTerm() {
return term;
}
public Integer getFuzzySlop() {
return fuzzySlop;
}
@Override
public <T> T acceptVisitor(Visitor<?, ?> visitor) {
return (T) visitor.visit(this);
}
@Override
public ValueExpr getChild() {
return leftChild;
}
@Override
public String toString() {
return leftChild.toString() + ":'" + term + "'" + (fuzzySlop != null ? "~" + fuzzySlop : "");
}
@Override
public String toQueryString() {
return leftChild.toQueryString() + ":'" + term + "'" + (fuzzySlop != null ? "~" + fuzzySlop : "");
}
}