package com.taobao.tddl.repo.mysql.sqlconvertor;
import java.util.HashMap;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.commons.lang.StringUtils;
import com.taobao.tddl.common.jdbc.ParameterContext;
public class MyParamSqlContext extends SqlAndParam implements Cloneable {
String beforeTableStr;
String afterTableStr;
String whereStr;
String tableName;
AtomicInteger bindValSequence;
public String getSql() {
StringBuilder sb = new StringBuilder(beforeTableStr);
sb.append(tableName).append(afterTableStr);
if (!StringUtils.isBlank(whereStr)) sb.append(" where ").append(whereStr);
return this.sql = sb.toString();
}
@Override
public MyParamSqlContext clone() {
MyParamSqlContext clone;
try {
clone = (MyParamSqlContext) super.clone();
} catch (CloneNotSupportedException e) {
clone = new MyParamSqlContext();
}
clone.param = new HashMap<Integer, ParameterContext>();
clone.param.putAll(this.param);
clone.setBindValSequence(new AtomicInteger(this.getBindValSequence().get()));
return clone;
}
// ================================getter setter=====================
public String getBeforeTableStr() {
return beforeTableStr;
}
public String getTableName() {
return tableName;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public void setBeforeTableStr(String beforeTableStr) {
this.beforeTableStr = beforeTableStr;
}
public String getAfterTableStr() {
return afterTableStr;
}
public void setAfterTableStr(String afterTableStr) {
this.afterTableStr = afterTableStr;
}
public String getWhereStr() {
return whereStr;
}
public void setWhereStr(String whereStr) {
this.whereStr = whereStr;
}
public AtomicInteger getBindValSequence() {
return bindValSequence;
}
public void setBindValSequence(AtomicInteger bindValSequence) {
this.bindValSequence = bindValSequence;
}
@Override
public String toString() {
return "MyParamSqlContext [sql=" + this.getSql() + ", param=" + param + "]";
}
}