/* ================================================================ * JSQLParser : java based sql parser * ================================================================ * * Project Info: http://jsqlparser.sourceforge.net * Project Lead: Leonardo Francalanci (leoonardoo@yahoo.it); * * (C) Copyright 2004, by Leonardo Francalanci * * This library is free software; you can redistribute it and/or modify it under the terms * of the GNU Lesser General Public License as published by the Free Software Foundation; * either version 2.1 of the License, or (at your option) any later version. * * This library 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 Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along with this * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, MA 02111-1307, USA. */ package net.sf.jsqlparser.statement.insert; import java.util.List; import net.sf.jsqlparser.expression.operators.relational.ItemsList; import net.sf.jsqlparser.schema.Table; import net.sf.jsqlparser.statement.Statement; import net.sf.jsqlparser.statement.StatementVisitor; import net.sf.jsqlparser.statement.select.PlainSelect; /** * The insert statement. * Every column name in <code>columnNames</code> matches an item in <code>itemsList</code> */ public class Insert implements Statement { private Table table; private List columns; private ItemsList itemsList; private boolean useValues = true; public void accept(StatementVisitor statementVisitor) { statementVisitor.visit(this); } public Table getTable() { return table; } public void setTable(Table name) { table = name; } /** * Get the columns (found in "INSERT INTO (col1,col2..) [...]" ) * @return a list of {@link net.sf.jsqlparser.schema.Column} */ public List getColumns() { return columns; } public void setColumns(List list) { columns = list; } /** * Get the values (as VALUES (...) or SELECT) * @return the values of the insert */ public ItemsList getItemsList() { return itemsList; } public void setItemsList(ItemsList list) { itemsList = list; } public boolean isUseValues() { return useValues; } public void setUseValues(boolean useValues) { this.useValues = useValues; } public String toString() { String sql = ""; sql = "INSERT INTO "; sql += table+" "; sql += ((columns!=null)?PlainSelect.getStringList(columns, true, true)+" ":""); if(useValues) { sql += "VALUES "+itemsList+""; } else { sql += ""+itemsList+""; } return sql; } }