@Override public final C visit(QueryPart part) { if (part != null) { // Issue start clause events // ----------------------------------------------------------------- Clause[] clauses = visitListeners.length > 0 ? clause(part) : null; if (clauses != null) for (int i = 0; i < clauses.length; i++) start(clauses[i]); // Perform the actual visiting, or recurse into the replacement // ----------------------------------------------------------------- QueryPart original = part; QueryPart replacement = start(part); if (original == replacement) visit0(original); else visit0(replacement); end(replacement); // Issue end clause events // ----------------------------------------------------------------- if (clauses != null) for (int i = clauses.length - 1; i >= 0; i--) end(clauses[i]); } return (C) this; }
@Override public final C visit(QueryPart part) { if (part != null) { // Issue start clause events // ----------------------------------------------------------------- Clause[] clauses = Tools.isNotEmpty(visitListeners) ? clause(part) : null; if (clauses != null) for (int i = 0; i < clauses.length; i++) start(clauses[i]); // Perform the actual visiting, or recurse into the replacement // ----------------------------------------------------------------- QueryPart original = part; QueryPart replacement = start(part); if (original == replacement) visit0(original); else visit0(replacement); end(replacement); // Issue end clause events // ----------------------------------------------------------------- if (clauses != null) for (int i = clauses.length - 1; i >= 0; i--) end(clauses[i]); } return (C) this; }