package squill.query.cud; import static squill.util.StringUtil.join; import java.util.List; import java.util.Map; import squill.query.select.Column; import squill.query.select.ReadableTable; import squill.util.ToString; public class InsertCruElement<OBJ> extends AbstractCUDElement<OBJ> implements InsertElement { private static final ToString QUESTION_MARK = new ToString() { public String toString(Object value) { return "?"; } }; public InsertCruElement(ReadableTable<OBJ> table, OBJ insertObj) { super(table, insertObj); } protected String createSqlAndArgs(Map<Column, Object> columnValueMap, List<Object> argsList) { for (Object value : columnValueMap.values()) { argsList.add(value); } StringBuilder sql = new StringBuilder(); sql.append(" (" + join(columnValueMap.keySet(), Column.GET_NAME,", ") + ")"); sql.append(" VALUES( " + join(columnValueMap.keySet(), QUESTION_MARK, ",") + ")"); return sql.toString(); } }