@Override public Void visitDouble(Property<Double> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { Double val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindDouble(data.index, val); } return null; }
@Override public Void visitBoolean(Property<Boolean> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { Boolean val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindLong(data.index, val ? 1 : 0); } return null; }
@Override public Void visitInteger(Property<Integer> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { Integer val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindLong(data.index, val); } return null; }
@Override public Void visitString(Property<String> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { String val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindString(data.index, val); } return null; }
@Override public Void visitBlob(Property<byte[]> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { byte[] val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindBlob(data.index, val); } return null; } }
@Override public Void visitLong(Property<Long> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { Long val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindLong(data.index, val); } return null; }
void bindValuesForInsert(Table table, ISQLitePreparedStatement preparedInsert) { LongProperty rowidProperty = getRowIdProperty(); Property<?>[] allProperties = table.getProperties(); ModelAndIndex modelAndIndex = new ModelAndIndex(this); for (Property<?> property : allProperties) { if (property == rowidProperty) { long rowid = getRowId(); if (rowid == TableModel.NO_ID) { preparedInsert.bindNull(modelAndIndex.index); } else { preparedInsert.bindLong(modelAndIndex.index, rowid); } } else { property.accept(valueBindingVisitor, preparedInsert, modelAndIndex); } modelAndIndex.index++; } }
@Override public Void visitDouble(Property<Double> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { Double val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindDouble(data.index, val); } return null; }
@Override public Void visitString(Property<String> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { String val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindString(data.index, val); } return null; }
@Override public Void visitInteger(Property<Integer> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { Integer val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindLong(data.index, val); } return null; }
@Override public Void visitBoolean(Property<Boolean> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { Boolean val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindLong(data.index, val ? 1 : 0); } return null; }
@Override public Void visitLong(Property<Long> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { Long val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindLong(data.index, val); } return null; }
@Override public Void visitBlob(Property<byte[]> property, ISQLitePreparedStatement preparedStatement, ModelAndIndex data) { byte[] val = data.model.get(property, false); if (val == null) { preparedStatement.bindNull(data.index); } else { preparedStatement.bindBlob(data.index, val); } return null; } }
void bindValuesForInsert(Table table, ISQLitePreparedStatement preparedInsert) { LongProperty rowidProperty = getRowIdProperty(); Property<?>[] allProperties = table.getProperties(); ModelAndIndex modelAndIndex = new ModelAndIndex(this); for (Property<?> property : allProperties) { if (property == rowidProperty) { long rowid = getRowId(); if (rowid == TableModel.NO_ID) { preparedInsert.bindNull(modelAndIndex.index); } else { preparedInsert.bindLong(modelAndIndex.index, rowid); } } else { property.accept(valueBindingVisitor, preparedInsert, modelAndIndex); } modelAndIndex.index++; } }