import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
+import androidx.room.OnConflictStrategy;
import androidx.room.Query;
import androidx.room.Update;
import java.util.List;
@Dao
-public interface CurrencyDAO {
- @Insert
- void insert(Currency... items);
+public abstract class CurrencyDAO extends BaseDAO<Currency> {
+ @Insert(onConflict = OnConflictStrategy.REPLACE)
+ abstract long insertSync(Currency item);
@Update
- void update(Currency... items);
+ abstract void updateSync(Currency item);
@Delete
- void delete(Currency item);
+ public abstract void deleteSync(Currency item);
@Query("SELECT * FROM currencies")
- LiveData<List<Currency>> getCurrencies();
+ public abstract LiveData<List<Currency>> getAll();
+
+ @Query("SELECT * FROM currencies")
+ public abstract List<Currency> getAllSync();
+
+ @Query("SELECT * FROM currencies WHERE id = :id")
+ abstract LiveData<Currency> getById(long id);
@Query("SELECT * FROM currencies WHERE id = :id")
- LiveData<Currency> getCurrencyById(Long id);
+ public abstract Currency getByIdSync(long id);
+
+ @Query("SELECT * FROM currencies WHERE name = :name")
+ public abstract LiveData<Currency> getByName(String name);
+
+ @Query("SELECT * FROM currencies WHERE name = :name")
+ public abstract Currency getByNameSync(String name);
// not useful for now
// @Transaction