/*
* This file is part of Zql.
*
* Zql is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Zql is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Zql. If not, see <http://www.gnu.org/licenses/>.
*/
package org.gibello.zql;
import java.io.*;
import java.util.*;
/**
* ZDelete: an SQL DELETE statement.<br>
* SQL Syntax: DELETE [from] table [where Expression];
*/
public class ZDelete implements ZStatement {
String table_;
ZExp where_ = null;
/**
* Create a DELETE statement on a given table
* @param tab the table name
*/
public ZDelete(String tab) {
table_ = new String(tab);
}
/**
* Add a WHERE clause to the DELETE statement
* @param w An SQL expression compatible with a WHERE clause
*/
public void addWhere(ZExp w) { where_ = w; }
/**
* @return The table concerned by the DELETE statement.
*/
public String getTable() { return table_; }
/**
* @return The SQL Where clause of the DELETE statement (an SQL Expression
* or Subquery, compatible with an SQL WHERE clause).
*/
public ZExp getWhere() { return where_; }
public String toString() {
StringBuffer buf = new StringBuffer("delete ");
if(where_ != null) buf.append("from ");
buf.append(table_);
if(where_ != null) buf.append(" where " + where_.toString());
return buf.toString();
}
};