/** * Alipay.com Inc. * Copyright (c) 2004-2012 All Rights Reserved. */ package com.alipay.zdal.parser.sql.visitor; import com.alipay.zdal.parser.sql.ast.expr.SQLBinaryOpExpr; import com.alipay.zdal.parser.sql.ast.expr.SQLCharExpr; import com.alipay.zdal.parser.sql.ast.expr.SQLInListExpr; import com.alipay.zdal.parser.sql.ast.expr.SQLIntegerExpr; import com.alipay.zdal.parser.sql.ast.expr.SQLNCharExpr; import com.alipay.zdal.parser.sql.ast.expr.SQLNullExpr; import com.alipay.zdal.parser.sql.ast.expr.SQLNumberExpr; /** * * @author ���� * @version $Id: ParameterizedOutputVisitor.java, v 0.1 2012-11-17 ����3:56:05 Exp $ */ public class ParameterizedOutputVisitor extends SQLASTOutputVisitor { public ParameterizedOutputVisitor() { this(new StringBuilder()); } public ParameterizedOutputVisitor(Appendable appender) { super(appender); } public boolean visit(SQLInListExpr x) { return ParameterizedOutputVisitorUtils.visit(this, x); } public boolean visit(SQLBinaryOpExpr x) { x = ParameterizedOutputVisitorUtils.merge(x); return super.visit(x); } public boolean visit(SQLNullExpr x) { print('?'); return false; } public boolean visit(SQLIntegerExpr x) { if (Boolean.TRUE.equals(x.getAttribute(ParameterizedOutputVisitorUtils.ATTR_PARAMS_SKIP))) { return super.visit(x); } print('?'); return false; } public boolean visit(SQLNumberExpr x) { if (Boolean.TRUE.equals(x.getAttribute(ParameterizedOutputVisitorUtils.ATTR_PARAMS_SKIP))) { return super.visit(x); } print('?'); return false; } public boolean visit(SQLCharExpr x) { if (Boolean.TRUE.equals(x.getAttribute(ParameterizedOutputVisitorUtils.ATTR_PARAMS_SKIP))) { return super.visit(x); } print('?'); return false; } public boolean visit(SQLNCharExpr x) { if (Boolean.TRUE.equals(x.getAttribute(ParameterizedOutputVisitorUtils.ATTR_PARAMS_SKIP))) { return super.visit(x); } print('?'); return false; } }