package jef.database.routing.sql; import java.util.List; import java.util.Map; import jef.database.jdbc.JDBCTarget; import jef.database.jsqlparser.expression.Table; import jef.database.jsqlparser.visitor.Expression; import jef.database.meta.AbstractMetadata; /** * 容器 * @author jiyi * * @param <T> */ final class StatementContext<T> { /** * 表元数据 */ AbstractMetadata meta; /** * 参数表 */ Map<Expression, Object> paramsMap; /** * 参数列 */ List<Object> params; /** * SQL AST */ T statement; /** * SQL AST 表名修改句柄 */ List<Table> modifications; /** * DB操作句柄 */ JDBCTarget db; /** * 构造 * @param sql * @param meta * @param paramsMap * @param values * @param db * @param modificationPoints */ public StatementContext(T sql, AbstractMetadata meta, Map<Expression, Object> paramsMap, List<Object> values, JDBCTarget db, List<Table> modificationPoints) { this.db=db; this.meta=meta; this.modifications=modificationPoints; this.params=values; this.paramsMap=paramsMap; this.statement=sql; } }