package com.money.manager.ex.datalayer; import android.database.Cursor; import com.money.manager.ex.domainmodel.Info; import com.squareup.sqlbrite.BriteDatabase; import java.util.ArrayList; import java.util.List; import javax.inject.Inject; /** * Repository for InfoTable */ public class InfoRepositorySql extends SqlRepositoryBase<Info> { public static final String TABLE_NAME = "infotable_v1"; @Inject public InfoRepositorySql(BriteDatabase db) { super(TABLE_NAME, db); } // @Override // public String[] getAllColumns() { // return new String[] {"INFOID AS _id", Info.INFOID, Info.INFONAME, Info.INFOVALUE}; // } public List<Info> loadAll(String infoName) { Select sql = new Select() .from(TABLE_NAME) .where(Info.INFONAME + "=?", infoName); Cursor c = this.query(sql); if (c == null) return null; List<Info> results = new ArrayList<>(); while (c.moveToNext()) { Info entity = new Info(); entity.loadFromCursor(c); results.add(entity); } return results; } public int delete(long id) { String idString = String.valueOf(id); return this.delete(Info.INFOID + "=?", idString); } public long insert(Info value) { return insert(value.contentValues); } public boolean update(Info entity) { return update(entity, Info.INFONAME + "=?", entity.getName()); } }