/** * Dumps the node tree to buffer. * @param node the root node. * @param buffer where to dump the tree. * @throws RepositoryException */ private QueryTreeDump(QueryNode node, StringBuffer buffer) throws RepositoryException { node.accept(this, buffer); }
/** * Dumps the node tree to buffer. * @param node the root node. * @param buffer where to dump the tree. * @throws RepositoryException */ private QueryTreeDump(QueryNode node, StringBuffer buffer) throws RepositoryException { node.accept(this, buffer); }
private void traverse(QueryNode[] node, StringBuffer buffer) throws RepositoryException { indent += 2; if (indent > PADDING.length) { char[] tmp = new char[indent * 2]; Arrays.fill(tmp, PADDING_CHAR); PADDING = tmp; } for (int i = 0; i < node.length; i++) { node[i].accept(this, buffer); } indent -= 2; }
private void traverse(QueryNode[] node, StringBuffer buffer) throws RepositoryException { indent += 2; if (indent > PADDING.length) { char[] tmp = new char[indent * 2]; Arrays.fill(tmp, PADDING_CHAR); PADDING = tmp; } for (int i = 0; i < node.length; i++) { node[i].accept(this, buffer); } indent -= 2; }
public Object visit(NotQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; QueryNode[] operands = node.getOperands(); if (operands.length > 0) { sb.append("NOT "); operands[0].accept(this, sb); } return sb; }
public Object visit(AndQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; String and = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(and); operands[i].accept(this, sb); and = " and "; } return sb; }
public Object visit(AndQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; String and = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(and); operands[i].accept(this, sb); and = " and "; } return sb; }
public Object visit(NotQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; QueryNode[] operands = node.getOperands(); if (operands.length > 0) { sb.append("NOT "); operands[0].accept(this, sb); } return sb; }
/** * Helper class to accept a <code>visitor</code> for all operands * of this <code>NAryQueryNode</code>. * * @param visitor the visitor to call back. * @param data arbitrary data for the visitor. * @return the return values of the <code>visitor.visit()</code> calls. * @throws RepositoryException if an error occurs. */ public Object[] acceptOperands(QueryNodeVisitor visitor, Object data) throws RepositoryException { if (operands == null) { return EMPTY; } List<Object> result = new ArrayList<Object>(operands.size()); for (T operand : operands) { Object r = operand.accept(visitor, data); if (r != null) { result.add(r); } } return result.toArray(); }
/** * Helper class to accept a <code>visitor</code> for all operands * of this <code>NAryQueryNode</code>. * * @param visitor the visitor to call back. * @param data arbitrary data for the visitor. * @return the return values of the <code>visitor.visit()</code> calls. * @throws RepositoryException if an error occurs. */ public Object[] acceptOperands(QueryNodeVisitor visitor, Object data) throws RepositoryException { if (operands == null) { return EMPTY; } List<Object> result = new ArrayList<Object>(operands.size()); for (T operand : operands) { Object r = operand.accept(visitor, data); if (r != null) { result.add(r); } } return result.toArray(); }
public Object visit(NotQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; QueryNode[] operands = node.getOperands(); if (operands.length > 0) { try { sb.append(resolver.getJCRName(XPathQueryBuilder.FN_NOT_10)); sb.append("("); operands[0].accept(this, sb); sb.append(")"); } catch (NamespaceException e) { exceptions.add(e); } } return sb; }
public Object visit(NotQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; QueryNode[] operands = node.getOperands(); if (operands.length > 0) { try { sb.append(resolver.getJCRName(XPathQueryBuilder.FN_NOT_10)); sb.append("("); operands[0].accept(this, sb); sb.append(")"); } catch (NamespaceException e) { exceptions.add(e); } } return sb; }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; boolean bracket = false; if (node.getParent() instanceof AndQueryNode) { bracket = true; } if (bracket) { sb.append("("); } String or = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(or); operands[i].accept(this, sb); or = " or "; } if (bracket) { sb.append(")"); } return sb; }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; boolean bracket = false; if (node.getParent() instanceof AndQueryNode) { bracket = true; } if (bracket) { sb.append("("); } String or = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(or); operands[i].accept(this, sb); or = " or "; } if (bracket) { sb.append(")"); } return sb; }
public Object visit(AndQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; boolean bracket = false; if (node.getParent() instanceof NotQueryNode) { bracket = true; } if (bracket) { sb.append("("); } String and = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(and); int len = sb.length(); operands[i].accept(this, sb); // check if something has been written at all // might have been a node type query node if (sb.length() - len > 0) { and = " AND "; } else { and = ""; } } if (bracket) { sb.append(")"); } return sb; }
public Object visit(AndQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; boolean bracket = false; if (node.getParent() instanceof NotQueryNode) { bracket = true; } if (bracket) { sb.append("("); } String and = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(and); int len = sb.length(); operands[i].accept(this, sb); // check if something has been written at all // might have been a node type query node if (sb.length() - len > 0) { and = " AND "; } else { and = ""; } } if (bracket) { sb.append(")"); } return sb; }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; boolean bracket = false; if (node.getParent() instanceof LocationStepQueryNode || node.getParent() instanceof AndQueryNode || node.getParent() instanceof NotQueryNode) { bracket = true; } if (bracket) { sb.append("("); } String or = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(or); operands[i].accept(this, sb); or = " OR "; } if (bracket) { sb.append(")"); } return sb; }
public Object visit(OrQueryNode node, Object data) throws RepositoryException { StringBuffer sb = (StringBuffer) data; boolean bracket = false; if (node.getParent() instanceof LocationStepQueryNode || node.getParent() instanceof AndQueryNode || node.getParent() instanceof NotQueryNode) { bracket = true; } if (bracket) { sb.append("("); } String or = ""; QueryNode[] operands = node.getOperands(); for (int i = 0; i < operands.length; i++) { sb.append(or); operands[i].accept(this, sb); or = " OR "; } if (bracket) { sb.append(")"); } return sb; }
predicates[i].accept(this, sb); sb.append(']');
predicates[i].accept(this, sb); sb.append(']');