/** * {@inheritDoc} * * @see java.lang.Object#hashCode() */ @Override public int hashCode() { return getOperand().hashCode(); }
/** * @see org.xcmis.search.QueryObjectModelVisitor#visit(org.xcmis.search.model.operand.UpperCase) */ public void visit(UpperCase node) throws VisitException { Validate.isTrue(queryBuilderStack.peek() instanceof Boolean, "Stack should contains caseInsensitiveSearch flag"); boolean caseInsensitiveSearch = (Boolean)queryBuilderStack.pop(); final String value = (String)queryBuilderStack.peek(); if (!caseInsensitiveSearch && !StringUtils.isAllUpperCase(value)) { // search nothing because static value in different case queryBuilderStack.push(new BooleanQuery()); } queryBuilderStack.push(new Boolean(true)); // push dynamic query to stack; Visitors.visit(node.getOperand(), this); }
/** * {@inheritDoc} * @throws VisitException if exception occurs * * @see QueryObjectModelVisitor#visit(UpperCase) */ public void visit(UpperCase upperCase) throws VisitException { append("UPPER("); upperCase.getOperand().accept(this); append(')'); }
/** * {@inheritDoc} * @throws VisitException if exception occurs * * @see QueryObjectModelVisitor#visit(UpperCase) */ public void visit(UpperCase upperCase) throws VisitException { strategy.visit(upperCase); enqueue(upperCase.getOperand()); visitNext(); }