Repository to retreive the database elements

This commit is contained in:
BGbaderguet 2020-11-09 20:00:26 +01:00
parent ce76466a0a
commit 80a0223d9a

View File

@ -0,0 +1,56 @@
package fr.romanet.vj.apps.myweather.repository;
import android.content.Context;
import androidx.room.Room;
import java.util.List;
import fr.romanet.vj.apps.myweather.bo.City;
import fr.romanet.vj.apps.myweather.database.CityDatabase;
public final class CityRepository
{
private static volatile CityRepository instance;
// We accept the "out-of-order writes" case
public static CityRepository getInstance(Context context)
{
if (instance == null)
{
synchronized (CityRepository.class)
{
if (instance == null)
{
instance = new CityRepository(context);
}
}
}
return instance;
}
private final CityDatabase cityDatabase;
private CityRepository(Context context)
{
cityDatabase = Room.databaseBuilder(context, CityDatabase.class, "city-database").allowMainThreadQueries().build();
}
public List<City> getCity()
{
return cityDatabase.cityDao().getCity();
}
public void deleteCity(City cityToDelete)
{
cityDatabase.cityDao().deleteCity(cityToDelete);
}
public void addCity(City cityToAdd)
{
cityDatabase.cityDao().addCity(cityToAdd);
}
public List<City> sortCityByName()
{
return cityDatabase.cityDao().sortCityByName();
}
}