package com.turtleplayer.persistance.source.sqlite;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import com.turtleplayer.persistance.framework.query.OperationInsert;
import com.turtleplayer.persistance.framework.mapping.Mapping;
import com.turtleplayer.persistance.source.relational.Table;
/**
* TURTLE PLAYER
* <p/>
* Licensed under MIT & GPL
* <p/>
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
* PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
* OR OTHER DEALINGS IN THE SOFTWARE.
* <p/>
* More Information @ www.turtle-player.co.uk
*
* @author Simon Honegger (Hoene84)
*/
public class InsertOperationSqlLite<I> implements OperationInsert<SQLiteDatabase, I>
{
private final Mapping<Table, ContentValues, I> mapping;
public InsertOperationSqlLite(Mapping<Table, ContentValues, I> mapping)
{
this.mapping = mapping;
}
public int insert(final SQLiteDatabase db, I instance)
{
long newRowId = db.insert(mapping.get().getName(), null, mapping.create(instance));
return (newRowId < 0) ? 0 : 1;
}
}