package com.venky.swf.sql; import com.venky.swf.db.model.Model; import com.venky.swf.db.model.reflection.ModelReflector; public class Delete extends DataManupulationStatement { private String table ; public <M extends Model> Delete(ModelReflector<M> ref){ this(ref.getPool(),ref.getTableName()); } public Delete(String pool,String table){ super(pool); this.table = table; } @Override public void finalizeParameterizedSQL() { StringBuilder builder = getQuery(); builder.append("DELETE FROM ").append(table); Expression where = getWhereExpression(); if (where != null){ builder.append(" WHERE "); builder.append(where.getParameterizedSQL()); getValues().addAll(where.getValues()); } } private Expression whereExpression ; public Delete where(Expression expression){ this.whereExpression = expression; return this; } public Expression getWhereExpression(){ return whereExpression; } }